Microsoft to big data programmers: Try F#
Microsoft's F# language geared to parallel programming, data-oriented problem-solving
Infoworld - The F# (pronounced "f sharp") object-oriented functional programming language originated at Microsoft Research around 2004. It was designed by Don Syme, principal researcher at the company. The language is geared to data-oriented programming as well as parallel programming and algorithmic development. F# 3.0, featuring support for large-scale schematized data and APIs, was released last year along with an update to Visual F# tools in Microsoft's Visual Studio 2012 IDE; Microsoft recently updated its Try F# website, which provides tools and resources for using F#, as well. InfoWorld Editor at Large Paul Krill recently spoke to Syme for perspectives on what Microsoft is trying to achieve with the language.
InfoWorld: What can developers do with F# that they can't already do with C#, C++, Visual Basic, or other programming languages available?
Syme: One primary difference is that F# is a functional-first language and in many ways a data-first programming language. The construction of the language is carefully designed to facilitate data-oriented problem-solving and manipulation in a functional programming way. One of the key aspects of functional programming is to reduce the bug rate for doing routine manipulations over data structures.
[ Microsoft is embracing the Git version control system. | Subscribe to InfoWorld's Developer World newsletter for news on software development. ]
InfoWorld: What exactly is a functional language?
Syme: One of the primary characteristics is that data is represented in a way that is called immutable. What this means is that you have descriptions of data, such as a design, so perhaps you can imagine taking a picture, and the programming is more oriented around transforming what you have and producing a new picture as a result. Instagram, for example, or Excel is also a functional kind of system, where you take data and you specify how that data changes through the system. A functional programming language is one that takes that paradigm through [to] general purpose programming.
InfoWorld: What was the main impetus behind F#?
Syme: It reduces the time to deployment for analytical software components. You find that kind of programming, particularly in finance and insurance industries, but also in a wide range of scientific or data-oriented or data-intensive programming domains. Microsoft embraced F# and contributed to F# because we want a top-notch functional programming experience on our platforms. Microsoft contributes three things to F#: One is the Visual F# tools, which come with Visual Studio. Microsoft Research contributes the language design to F#, and we also contribute the Try F# site that has just been released this week.
InfoWorld: Is F# basically for parallel programming?
Syme: Yes. It's one of the things that F# is very good at, and it comes from this functional, stateless approach to programming.
- 12 iPhones Apps That Will Make You a Networking Star
- 10 Careers Robots Are Taking From You
- Big Data Gold Isn't Always Where You Would Expect It
- 6 Tips to Build Your Social Media Strategy
- A walking tour: 33 questions to ask about your company's security
- 15 social media scams
- The 7 elements of a successful security awareness program
- IT Certification Study Tips
- Register for this Computerworld Insider Study Tip guide and gain access to hundreds of premium content articles, cheat sheets, product reviews and more.
- The Five Big Lies the C-Suite Hears About "Going Mobile" Mobile has already made a tremendous impact-to the tune of 29 billion apps downloaded in 2011. With such a new technology, it's not...
- mPayment Scenario Planning and Recommendations The mPayment industry is predicted to reach $1.3 trillion by 2017. This report offers conclusions into the impact mobile will have on businesses...
- Is Your App Getting Used? Understanding UX and Your Audience Want your app to be one of the 70 percent that is opened but never used again? If not, then you need to...
- Streamlining Information Workflows In order to streamline your workflows effectively, you will need to properly align your file transfer solution with your business requirements.
- Bridging HTTP and FTP with FileXpress Internet Server What if you could take an FTP server on your internal network, and allow external users (partners or customers) to securely access it...
- MFT and FileXpress - An Overview Business users and applications exchange files on a regular basis. File transfer is a core part of the flow of business activity. All App Development White Papers | Webcasts
Our weekly newsletter will cover a wide range of topics and trends related to consumerization. Stay up to date with news, reviews and in-depth coverage of BYOD, smartphones, tablets, MDM, cloud, social and how consumerization affects IT. Subscribe now!