Inside Microsoft's New F# Language
robyn217 writes "There's a new language being formed in the bowels of Microsoft. Recently I got word that the language F# (pronounced F Sharp) is nearing workable stages at Microsoft Research. So, I went in for a look-see. What I found was an interesting blend of imperative (Java, C#) and functional languages(it's ML-based, too!). It looks pretty enticing to me from a computer science perspective, but I'm not sure it would fly in the professional market. I can see the ease of development that a language loosely based on ML would bring, but I can't see coders switching over in droves since it's a tough learning curve." Our previous story on F#.
F#ing Visual C++
F#ing VB.
F#ing Win32 API
It's OCaml for the .NET CLR. Not a new language. Nothing to see here. Move along.
"nearing workable stages at Microsoft Research"
:)
What a softball on a Slashdot story. I bet
21 joke made with reference to this phrase
Let's watch and see
---"What did I say that sounded like 'Tell me about your day?'"---
F-pound?
F-sharp?
F-UD?
Sheesh. Don't we have enough languages already? I thought C# was the absolute savior of the MS-centric tech world.
Just learn how to program in one language before you hit another one.
This space for rent.
I guess anyone taking computer science will have to learn this, as it is the "language of the future." MS has the power to dictate what the future of its monopoly is, and thus also the future of computing. And with computer science graduates familiar with this, they will start to use it. Then, others like myself will either have to learn it or lose their job.
I knew that someday Fortran will make its comeback and becomes the all mighty programming language !!!
#include "coucou.h"
I usually use an F#-word or two when dealing with one of Microsoft's programming languages. This is great for marketing "See, everyone's shouting praises of F(sharp)!".
Sometimes I doubt your commitment to Sparkle Motion.
A microsoft rep met with us a couple of weeks ago pushing .NET, win2k3, the whole enchilada. He mentioned they have MANY of these languages in development and are due to be released in the next year or so. They will still be pushing C# for mainstream development. The other languages will focus on niches where a modern OO language would be cumbersome.
;)
He wouldn't confirm whether they would have the X# naming convention
Heh
In the UK we call that square thingy a hash
Do you think C hash has done well here :-P
Will F hash do any better?
(Or does "making a hash of it" get lost in the translation?)
Anyone quoted by a reporter knows how little they understand
Don't believe what you read is the truth.
C# now F#. What will MS do when they run out of letters in the alphabet for their language du jour? Start over at AA# ?
Trolling is a art,
F###?
If you look real hard you might be able to spot the article body. Its right there, squished up against the left hand side of your browser, to the left of the three columns of adverts and Flash animation and just below the ad banner and the ugly Extreme Tech mast, and above the entire half page of ad links and links to other article with more ads in them.
Still, I like the way they've made the text cleverly flow around the badly placed tables and small adverts that are littered throughout the text!
When developing for windoes "Microsoft F#&%", or "F#&%*!? .net" is the most common language our team uses.
Offtopic, Inflammatory, Inappropriate, Illegal, or Offensive comments might be moderated up.
damnit it all to hell! im actually working on a framework for something like this. java with first class functions and a way to basically do currying (though it looks a little different), product and sum types, and proper polymorphism.
oh well... maybe there will still be room for an open source version of it. would hate to have spent this time on something that the 800 pound gorilla is just going to pump out.
Do you relize that an F# major has 6 sharps.
But, an F# is the same as a Gb (G flat) which has as 6 flats.
Now the C# scale has 7 sharps, but it's the same as a Db (D flat) which only has 5 flats.
Most people think (D flat) instead of C#.
F# is a very bright scale. It sounds very nice on an Alto Saxophone, whereas the C# scale is a little more moody, depressed.
Maybe Microsoft is trying to back off the use of C#.
Our company has recently started to introduce .NET development alongside our core J2EE platform. One of the issues that has come up has been how useful the multi-language/single-platform support would be. Rather than taking a "best of breed" language for all development, the use of the right tool for the right job could potentially lead to interesting results - A mix of C#/ML/PROLOG/etc. as appropriate for the immesdiate task at hand. I don't think MS is far enough down the road yet to capitalise on the idea, but it's certainly an intriguing possibility - Even if it would lead to a maintenance nightmare :)
Oh, the jokes that this will bring. Just goes to show you that, if nothing else, Microsoft is good for a joke or two.
It's all fun and games until someone loses the key to the handcuffs.
You'd think I would have noticed those bad teeth if they had been anywhere as common as double-decker buses. You'd think I would have remembered the tea-stained incisors and rotting brown bicuspids of shopkeepers and sales clerks. But I observed no such shortcomings in the dental fitness of the British public. Why is it, then, that all it took to convince me were an impish skit on Saturday Night Live, a wickedly retouched cover photo of a snaggle-toothed Princess Diana in Spy Magazine, and the grotesque cinematic ivories of Austin Powers?
Interesting. So Safari doesn't render php phpinfo() correctly, but IE 5.2 makes /. look like crap.
:-D
.
Looks good on Safari boys
I think I'm falling in love with OS X and this here TiBook. .
help me
Map then applies whatever function we pass in to every member in the array (called a list in functional programming).
So, all you functional programmers, remember... a list is just another name for an array :-P
Seriously, though... I was discussing the future of programming languages with some friends and we agreed that a real step forward would be to provide features such as higher order functions in a mainstream language... could this be it?
If so then it's a little worrying... I'd rather not see any revolutionary languages come out of MS, if at all possible...
(Cambridge's Computer Science degree teaches ML followed by Java in the first year... would they switch to teaching just F# if it became popular?)
is it just me, or is Microsoft having their own little inflation in languages? In the 'good old days' there were fewer languages, and a developer could use time to learn them, getting good at it. with microsoft's Visual Basic, some versions differ more than Pascal and C, then comes C# and now F#? What's next? After they're done with C,C#,D,D#,E,F,F#,G,G#,A,A#,B, perhaps the arabic scale will do... I'll stick with Q-Basic
Computers are like air conditioners.
- They stop working when you open Windows.
My first year CS classes were taught in ML. It's a very potent language. I especially liked the type inference system. What other languages do in templates comes naturally in ML. Our CS prof gave us an example of Quicksort in 3 lines of readable code. As an academic language ML has problems interfacing with real life systems. OcaML was a step in the right direction and MS is building F# on it. I'll certainly try this one.
and functional languages(it's ML-based, too!)
Good I'm a big fan of Marxist-Leninst programming languages.
I wonder if F# has any relationship to the "ML for Microsoft" (I forget the name) efforts from Harlequin Software a few years ago? ML has always seemed an ideal fit for many single-user RAD developments, it just needed an appropriately stable, complete, clearly specified component library and professional quality IDE in order to reap productivity benefits over Java/C# et al.
for (int i=0; i < myIntegerArray.size(); i++) {
myIntegerArray[i]=Square(i);
}
Result: Every integer in my array would be squared.
Why do I feel ready to bet that this won't even compile??????? Anyway, I definitely enjoy reading programming related papers from people so confident(to read: dumbass-ed) that do not check down their own examples......
1. No sig. 2. ???? 3. Profit!!!
If they can patent/trademark/copyright all the notes used in music, they will be able to own the RIAA.
The have: C#,F#
Left: A,A#,B,C,D,D#,E,F,G,G#
Can't wait for the other 10 programming languages
from the g-flat dept. ?
*Twitches at the thought of his 8 years of Music Theory classes*
No need to hush any more.
F#ism is finally back in F#ion.
This means all Microsoft programmers are F#ists.
Another all-new, all-better programming language has been unveiled where startups, who are too stupid to write code in 30 years old and ALWAYS sufficient alternatives, can rely on that they will get bankrupt as soon as the main marketing for that language stops or that language has been prooven insufficient (like Java where the pathetic advantage of compile once - run everywhere was valued over such essential things like: SPEED). Now flame me and F... yourself!!!
Or is that F#C#.
YARPL (yet another redundant programming language)
Anything from microsoft has to be world changing. I am so excited i wet myself. Maybe we could get a whole B flat scale of langauages like g,a,b,c,d,e,f# and higher g. I think microsoft is really kewl.
And, you know, I've been working for a very large financial institution for 2.5 years. I've seen no sign of C# anywhere. Going to the programming racks at Borders would make you think differently. I honestly think there's more C# books out there now than all other programming language books put together. It's amazing.
see subject
ADD ONE TO COBOL GIVING COBOL
Er guys, I think they got the date wrong : it's not april fools day!
If we'd stick to the standards we would be typing machine code onto punch cards, dumbass.
ADA# and ADA#THUMBTACK. Oh stop it's killing me!
___ Shout Central - Crushes your nuts!
Because like any of your fellow Americans, you'll believe anything the moving pictures in the glowing box tell you.
Maybe the idea is that since you can use all of the .NET languages in the same project, you can do the things that a functional language are good for in F# and the rest in C#.
With a title like "Inside Microsoft's New F# Language" I was looking for the big foot, but I guess this really isn't a joke...
Laugh at stupidity: mod idiots +1 Funny.
Why can't Microsoft call it F Octothorpe? (Look up octothorpe in the dictionary if you don't know what I am talking about)
rm -rf sig
If they cant make an oerating system why do you think they can make there own langauge? i know i wont trust it. Also why the hell is my karma bad? I havnt done anything wrong. WTF?
Microsoft should be really grateful if the market really picks up C#. Instead theyre introducing competition to themselves. Good programmers choose C, C++ or java and stick to it for the rest of their lives. Microsoft stooges however would look up to Microsoft and take whatevers thrown to them, but its the good programmers Microsoft should be going after. They did claim theyve learned alot from Linux's loyal developer community, they obviously lied.
"Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
I just finished a Language Design Course on my way to my masters in CS in which I did a bunch of work with NJ/SML. I am a Java programmer now and I must say there was a STEEP learning curve just to become decent with ML. Still, the one thing I do like about ML is its ability to handle lists very effectively. I am able to write sort algorithm code that is a small percentage of the code that would be required in JAVA.
Let's face it, some languages are better suited to certain tasks than others. I would love to see a language that had the OO/imperative-ness of JAVA, the functional-ness of ML and the logical-ness of something like Prolog. Likely it would be a convoluted mess of a language but if done right it could be extremely powerful. Imagine sorting a list in two lines of recursive code and then asking an interpreter questions about the resulting list.
Now the job postings will read: must have five years exp. in f# rather than: must have five years exp. in c# just when I was getting my 10 years exp in Java that they also require...
Not really. F# and g form a dissonance, called a minor second. It happens though that I like g-f#, a major seventh. But maybe a listen to too much contemporary music.
I have to hand it to M$ to come up with yet another cute two letter abbreviation that doesn't pertain to anything! Let's look back and reflect... NT, (2K?), (VB?), XP, C#, F# ? I'm seeing a trend towards this... at this rate they will use up all possible character combinations by the year 2154! ([26+1]*[26+1] : 26 for all alahabet chars and +1 for the '#' symbol)
It's definitely not pound, not hash maybe sharp but really, it is octothorp.
I know, AWT->SWING and a bunch of other examples, but a CORE PART of Java does not change. It remains the same as much as possible, in regards to the API.
MS goes ahead and changes things completely every few years. Java, for the most part, does NOT require tons of relearning. The API's are there if you need them, but a majority of them do not change. They might get "cleaned up" a bit, or a few deprecated here or there, or in my opinion a few too many may be created to do the same task, but if you could knock up a Java prog years back, it's the same way today for the most part. SIMPLE.
I certainly wouldn't hire an insecure prick for any job. Especially if he was so insecure he was grasping for straws as to why he wasn't succeeding. You think because someone doesn't speak english without an accent they're stupid? How's your hindi?
It's not wasting time, I'm educating myself.
Are C# and F# the two notes that make up the theme to Jaws?
excactly and we know the dissonance and microsoft go hand in hand =)
It's thinking like this that has made Windows the stable, long-haul product it is today.
-----
What has a two-year lifespan? Rats and Windows.
A rehash of C?
Click here or a puppy gets stomped!
Ocaml doesn't get nearly the attention it deserves. I'm especially surprised it hasn't taken off more in numerical computing (although it is fairly young). Functional, object-oriented, all those good things, with the speed of C/C++. Very compelling.
Go check it out if you haven't already. I'd really like to see ocaml be more widely used, especially over some copy from MS.
Ok, if they had to continue with this silly "sharp" naming convention they could have at least done something on the geeky side and called it B#.
Of course, a lot of the people wouldn't get it, but those of us that do would be wondering if it was deliberate or just a coincidence?
I must admit it is much more difficult to search my 3l1t3 h4x0r 0-d4y w4r3z s1t3s when the products from M$ are .NET and C# and XP and ... (to be continued ...)
The only time I read a # as "sharp" is when it is on a musical staff ie five parallel lines. Otherwise it is a hash as in #5 for number 5 or please press the hash key on the phone.
hash definitions
Of course when ever I see F# and Micro$oft together I read F#$%
The description reads like F# is OCaml on hash ie dumbed down.
-- it must be true, it's on the internet.
Perl has a fairly steep learning curve to really use the language. If it's good enough, they will use it.
"Not knowing when the dawn will come, I open every door." - Emily Dickinson
There are three levels to programming.
The first is for the silicon scrapers. Guys who write device drivers and who are amply served by assembler (for the real propeller-head bit-twiddlers) and and by C (Not C++, C) There is no sense of reality at this level.
The second level is for the tool makers. The guys who bring you APIs and services like TCP/IP, Tuxedo, database managers, OpenGL, compilers, browsers and the like. Those folks use C++ and Java. Its a mistake to think that you can make an application in C++ or Java or Smalltalk. You can cobble something together that will cost too much and be too brittle for real-world use and eventually break (or break the bank.) The world becomes real.
The last level is integrative. There aren't any languages which assimilate the concepts which programmers are confronted with in the real world.
The best we have to date is sort of the second and a half level with languages which, with the support of a whole bunch of other third party systems (both code and manual procedures,) are sort of capable of some mimetic link between soma (the code) and extro (the specs.) (Sort of like CICS COBOL on mainframes.)
From what I saw, F#, uh, isn't. Its better but still, its like C++, ObjectiveC or Smalltalk or any other container based language where contained objects have no clue that they contained unless the programmer creates and maintains explicit references to the container.
The flaw starts there and gets carried forward.
And computing is so fundamentally simple. Its a game of N-Dimensional topology bounded by finite vectors in every dimension. There's no mystery involved. You just need to maintain a meta-model of the system and you can generate the rest.
What do you think programmers are and what do you think they're doing? They're code generators that fetch their own meta-model. Some do itbetter than other and some such at code generation too.
MSBPodcast.com The opinions expressed here are my own. If you don't like 'em... Think up your own stuff.
They'll be suing people that have been dead for many hundreds of years for using C# D# F# G# in their musical scales.
I strongly suggest that Microsoft stick to making operat...(um), office pro..., (no thats not it...), web brow...(nope), how about video game...(nah)..., programming platfor...(not it either)...
100% Insightful
I'd like to see a few flat languages, especially E flat...
Anyway, I think it's too late for this. The only way Microsoft has dominance if it is the only option. I'm sorry, but it doesn't appear that F# is the only option that works for enterprise solutions at the moment.
Another option for ML-ish languages is the Standard ML compiler for .NET CLR: SML.NET. It implements SML 97 with similar language interoperability.
Am I the only one, who thinks about Brain F#$%@ while reading about "Microsoft's New F# Language?" But seriously, I think Fis is quite an interesting language (even if not quite so as, say, Perl 6 is), but it will need lots of marketing to push C and C++ out of the OO market, which will be difficult as h*ll, even for Microsoft. Even if everyone in proprietary software industry switches to Fis, there will still be enough C in free software projects to consideribly slow the deployment. But it was still quite an entertaining reading, even if it hasn't provided any outstanding insight. Robyn Peterson's articles have never disapointed me, however this time I feel a little bit bored. I guess I was expecting too much from Microsoft language development people, but on the other hand, how far could they possibly go, with all this legacy backward compatibility? I think they have done quite a good job this time, considering it's Microsoft. Who knows, I may even write some of my new projects in Fis. I hope it will be supported by GCC soon enough.
Karma: Positive (probably because of superiour intellect)
If your program contains both F# and C# code, then you can call it D Major. Detractors can call it b minor.
F# looks like OCaml. You can have a look on the libraries already present for this fabulous language on the hump http://caml.inria.fr/humps/index.html
Now when people say "F Microsoft" they can be sued for trademark infringement. Way to stifle dissent, MSFT!
You see? You see? Your stupid minds! Stupid! Stupid!
Unfortunately,foreign students--especially in Asia--are much better at math. They basically do their homework while our American counterparts enjoy Sex, Drugs & Rock-n-Roll while making fun of smart students as "nerds" or "geeks".
As computers get cheaper, kids in other countries will start coding at an early age and their more advanced math skills will help them beat us.
While we do have the best universities, you have to take a look at the percentage of foreign students in science/engineering as an indicator of things to come.
I have a friend who is 1/2 Asian & 1/2 white and he applied to a university as a "white/caucasian" because getting in as an Asian would've been harder according to someone at the admissions office--they told him Asians were overrepresented and they preferred non-Asians for the remaining space.
Affirmative action sucks. Especially if you're a minority and it causes whites to have it easier. IMHO, race should never be a factor in admissions but unfortunately, it is. Which means smarter students get left out because they're "overrepresented"...
Microsoft says it:
F#ism is finally back in F#ion.
I guess this means all Microsoft programmers are F#ists.
Oh well, they're only in it for the C# anyway.
...the way I wrote a file to a disk 15 years ago is the same way I write it today. And I know how to write a file to a disk on Solaris, Linux, Mac, BSD and Windoze since I know the little bit of code that does it in C. Although a simple real world example, it is pretty powerfull stuff when you think about it. And remember, NO RELEARNING.
What was your point again?
By the way the whole first paragraph is covered by one big [sic] as I left all of the spelling errors intact.
And computing is so fundamentally simple. Its a game of N-Dimensional topology bounded by finite vectors in every dimension. There's no mystery involved. You just need to maintain a meta-model of the system and you can generate the rest.
Christ, if that's simple, I'd hate to hear you describe complicated.
As far as I can see, the *# project involves creating one language with one particular paradigm (C#) and building "front ends" which amount to nothing more than syntax translators, none of which really support the original language fully (hence F# is almost OCAML, but not quite, because a homomorphism to C# has got to exist, and some things just don't map).
Dude, A G-flat is an F-Sharp.
E-flat is D-sharp.
Until today, both ML and Haskell had a common problem: a lack of commercial and real world interest in it and therefore a lack of real-world libraries and supporting frameworks. But now things are going to be changed.
First Ericson came with Erlang, an excelent essence of FP, LP, scripting and networking. Now M$ (I know - evil, but anyway) came with F# bringing OCaml to the real world saving from being forgotten somewhere in Inria.
What next? I think that would be Haskell, the language even more suprior to ML, with already OOP, Parallel and Cuncurrent extensions. Also I like its Functional-Logical dialect - Curry. But who will bring it to the real world? IBM?
Less is more !
So, is it "F-sharp", "F-octothorpe", "F-pound", "F-number", or "F-tic-tac-toe"?
One thing I know for certain: "F--- Micro$oft"!
Hash by any other name would probably still get you high...
"Obviously, I'm not an IBM computer any more than I'm an ashtray" (Bob Dylan)
They've developed some real crap in the past, but at least they're honest about the origins of this one.
absolutely F#inating!
And another F#inating fact:
In dutch # is called a fence.
Maybe they shoulda just called it "BS"-- sounds like the next thing beyond VB. Just think of how "MS BS" would roll off your tongue so naturally. Except, of course, that this is what a lot of us think of what comes out of Redmond, all the time...
Always look on the briight side of life! (whistle, whistle)
F#C# that shit...F#ing Visual F#C# is the way to go!
Moderation: +4. Modded 70% Funny and 30% Overrated. 100% Saturated.
I prefer the key of C - no sharps, no flats, and the easiest to play (at least on the keyboard)!
"He who would learn astronomy, and other recondite arts, let him go elsewhere. " -- John Calvin, commenting on Genesis 1
Presumably people who programme in this are fhashists..
Can explain why Haskell and ML arn't being used outside of research? The benefits over imperative programming are quite significant.
Are there some major drawbacks that I am not seeing?
Yup sounds like crap alright.
Eat at Joe's.
Quality troll, I give you 5 points.
But you sound moronic. The key is to come off sounding like you might know what you are talking about, and then half way through your pitch digress into something totally unrelated.
This post is totally off topic and full of hateful, xenophobic, and racist rhetoric.
An insightful mod is totally inappropriate.
You think too much.
You can't win Darth. If you mod me down, I shall become more powerful than you could possibly imagine
They tried to call it P# but the message kept getting filtered ;-)
boom boom
sparkes
blog and junk
but if the square peg is big enough, you can always mill it down to fit the round hole... hmm...
i sell illegal drugs
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
There's a new language being formed in the bowels of Microsoft.
This may help explain Microsofts process for developing new software. How are things "formed in the bowels" anyway? A simple understanding is that good stuff is essentially chewed to pieces and then deconstructed in an acidic bath. Once the good stuff reaches the bowels then an attempt is made to remove everything that is of value. Once that has been accomplished we are, I suppose, left with a Microsoft product that is ready to (careful here now) ship (Whew! Now that was one major Freudian slip just waiting to happen....).
--
As a matter of fact, I am a lawyer. But I play an actor on TV.
> Removing math from the computer
> science curriculum is akin to removing
> the seatbelts from one's car.
> The car may still appear to work,
> but deep down, it's inherently flawed.
Er... how's that again? A car without a seatbelt is inherently flawed?
tom
The Army reading list
Please, can you Slashbots SHUT THE FUCK UP about the # symbol? Gee, they should call it F-flat, huh huh. JUST SHUT THE FUCK UP!
Seriously, it sounds like a great idea, but I'm afraid I won't be able to use it due to fears of being stuck up a creek without a license, or without a compiler for Linux, etc.
Functional languages (such as ML) have some very powerful features lacked by C++,C#,Java,etc. The ML module system rocks, and so does its handling of polymorphism. I've been waiting for years for someone to hook it up with a practical library and development environment so I could use it for real work.
I could be wrong but I don't think talented white men with computers had anything to do with cracking the enigma code. Didn't we "crack" it by recovering an enigma machine from a disabled German sub?
Christ, if that's simple, I'd hate to hear you describe complicated. :-(
Reality. It's reality that's complicated. Algebraic topology is simple. As simple as it can be. It's the real world that's complicated. Doesn't mean I'm capable of understanding it though
id hoped to bury those horrid memories of recursion and pattern matching just to loop... *sob*
i sell illegal drugs
A new language from Microsoft, STF#U!!
If I had something intelligent to say, I would have said it.
TCP/IP stacks & compilers written in Java? (Honest query -- does anyone really do that?)
Where have all the talented white men gone?
Thankfully they're now working alongside talented women and "non-white" men.
Okay, I have to agree with you that there has been a drastic decline in the last ten to fifteen years of the number of people in the field who would be considered old-school "hackers" -- the kind of guys who created these systems that people now think they're eleet for using.
But what the HELL do you mean by "Where have all the talented white men gone?"
That racist shit got moderated up to +4?
The second level is for the tool makers. The guys who bring you APIs and services like TCP/IP, Tuxedo, database managers, OpenGL, compilers, browsers and the like. Those folks use C++ and Java. Its a mistake to think that you can make an application in C++ or Java or Smalltalk. You can cobble something together that will cost too much and be too brittle for real-world use and eventually break (or break the bank.) The world becomes real.
I take issue with this. I have designed and implemented apps in both C++ and Java that were flexible enough that we were able accommodate unexpected customer requests. And they didn't break the bank, considering their feature set.
Funny. I remember a time when folks used to believe that Java and C++ (and other OOLs) weren't fit for such low-level work because of the compilers/linkers tended to make the code pretty inefficient. I guess I'm showing my age. :)
Who modded a troll this high?
I live where it is pretty much ok to grow your own. Which works well so long as your neighbours don't spot the stuff and steal it.
Moreover, ML languages (like Caml) are really portable.
I think that if you examine the C# and F# languages, you'll find that they both fall flat.
"Smoking helps you lose weight - one lung at a time" -- A. E. Neumann
I curse myself for feeding that there troll. I knew I was mistaken to respond.... ah well.
Tom
The Army reading list
Joy, now there is a full featured language modeled off of that awful technology!
We're not god. Not only are we human but we are sometimes forced to become the devil himself. We're not god
The ironic thing about his post is that people from the subcontinent of India seem to have better 'math minds' than most white men.
I will say, if you remove "Stop affirmative action" and view 'man' as a gender-neutral pronoun (which it is), he makes some good points.
The technology field now consists primarily of certified-morons and foreign coders. What happened to the guys who started modern computing on its way back during World War II when they cracked the German enigma encryption by creating the computer? Where have all the talented white men gone?
Nono, Proud American, you should ask yourself where have all the talented men came from?
For your interest, Enigma code was cracked by a bunch of foreigners (some Brits and Poles).
Lisp is the Tengwar of programming languages.
And after bad reviews and lack of customer "buy in", Microsoft renamed their new language to FU, and added that all future versions of Windows will be written in FU. However, it is rumored that this is not the first FU from Microsoft to it's customers.
It's usually a very bad idea to include imperative aspects in functional languages.
Functional languages are amazing creatures. They're really strange to work in. They take a serious change of mindset. They can be very slow to execute. I/O is really odd when side effects are forbidden.
They have astounding benefits, too. The localization of effect means that they're really easy to debug. The lack of side effects means that some really enormous optimizations are open, which is crucial since the naive execution is slow.
Once you throw in any imperative aspects at all, these effects go right out the window. Even a single imperative statement potentially interferes with every optimization. ("Can I eliminate this execution branch? It seems like a redundant call but it might branch to that imperative statement.")
I think that this got in the way of ML. It can be easy to want to add just a tiny imperative element to make something easier, but that small crack opened up a lot of headaches for me. I greatly preferred the purity of Haskell.
I haven't read the F# spec, so I may be overreacting from the notoriously inaccurate Slashdot summary. That's next.
Your subroutines look particularly lovely today....
I believe we had the encryption cracked already when they recovered that one. Getting an actual example of the machine just made it clear how it was done.
If a job's not worth doing, it's not worth doing right.
What no F, then F++? Maybe MS realized everybody waits until their third attempt before they take MS seriously.
Well, there's spam egg sausage and spam, that's not got much spam in it.
Heck, none of the examples he listed are things anyone would do in Java. Can you imagine OpenGL implemented in Java? Sounds to me like he's parroting something he heard once and didn't understand entirely.
If a job's not worth doing, it's not worth doing right.
'Ghash!' muttered Gandalf, 'I wonder if that is what they meant: that the lower levels are on fire? Still we can only go on.'
'Ai! ai!' wailed Legolas. 'A Billrog! A Billrog is come!'
Your mind is squeezed by a blast of pain!
What is that weird symbol that you use for your dollars?
:)
That's so colorful...
That's so silly looking...
It looks like Monopoly money...
How much is it worth in real money?
All sorts of fun things that American's say of other currencies...
F#k Microsoft!
Functional Programming is a Very Good Thing to learn.
After being interested in functional programming languages for a while I had the opportunity to spend some time reviewing a textbook using ML. I figured that was the time to learn the language. Got frustrated quickly, I got several ML systems (including the one mentioned in the book) and no two worked alike. Hell, the syntax varies enough that there are ML dialects that look like completely different languages.
A while later I decided that perhaps it was time to spend some energy seriously learning Haskell. I got and installed Hugs (Haskell.org is a wonderful resource with several Haskell systems listed, tutorials, documentation, libraries and so on). Hugs implemented pretty much all of the Haskell described in the manual I found and the tutorials. (Today, I'd probably use the interactive GHC.)
It took a while, some dedication and a lot of grumbling to figure out how things worked and I'm still learning bits and pieces of the language and associated libraries and stuff.
Now Haskell is one of my favorite languages and I want to use functional tools (higher order functions, laziness, and so on) in every language I use. I'd say that Haskell changed my ideas about programming, my approach to problems, and my toolset both deeply and widely - and for the better. Probably as deep a shift in technology and technique for me as OOP (I started programming in Fortran, APL, Algol...) - but then OOP just always seemed Right to me.
Part of what made the learning process so effective was that Haskell makes it very hard to have side effects - so where in ML the books/tutorials often introduce mechanisms for building variable that work more or less like those in C - in Haskell this is very difficult.
So, while F# may be an interesting language, if you want to learn a new language, try Haskell. You may have to be obstinate. And if it works with you as it did me, it will drive you crazy until it clicks (and I remember exactly the problem that did it) and then you'll just kind do one of those quiet awestruck "wow"s and watch your view of programming change.
Haskell isn't the right language for everything. I also use Java, C and Python (and a few others) often - but for lots of problems, for doing a quick model of something to try it out, for just helping your mind think about a problem a bit differently ... Haskell is great.
But remember - you may well have to be stubborn about persisting till it clicks.
And on a related note...
Does anyone know if anything ever came out of the development of the functional scripting language "Sheep" for the amiga?
Eiffel.NET? Ask and you shall receive. :)
...rumors were that MS Research was going to originally call it FU!
--- I wish I could hear the soundtrack to my life. That way I'd know when to duck.
What do you get if you push a piano down a coal mine ?
A flat miner !!
Two wrongs may not make a right, but three
they are 'perfect'. same with seconds and fifths
People like you are the real racists. They think anybody who opposes affirmative action are automatically racists.
You should be ashamed of yourself.
shell, perl, python, C, C++, m4, yacc, expect, tcl/tk, java, mono...
Obviously the difference is that with this new C#/F# thing (and maybe perl6/python3) multiple languages share a 'runtime' engine. It's nothing new, though. All of the languages I mentioned can be made to talk to each other. though are more easily adapted than others. A shared runtime isn't a big step above an agreed apon interface mechanism (COM, CORBA, etc).
Using the right tool for the job has always been a good idea.
Damnit Taco, can you add /. code to allow us to only see posts which add content and not see all the
/. readers should lose the 13 year old vernacular
off topic, redundant, or funny ones?
The first 100 or so score 1 replies had 5 with real content.
nt.
Who authors TCP/IP stacks in Java?
From what I saw, F#, uh, isn't. Its better but still, its like C++, ObjectiveC or Smalltalk or any other container based language where contained objects have no clue that they contained unless the programmer creates and maintains explicit references to the container.
Really, what the hell are you talking about?
And computing is so fundamentally simple. Its a game of N-Dimensional topology bounded by finite vectors in every dimension. There's no mystery involved. You just need to maintain a meta-model of the system and you can generate the rest.
Neither you nor I nor anyone have any idea what this means, because it is pseudo-intellectual gibberish.
Rumor has it that Microsoft is working on a "lite" version of F# to be called "F Micro" or "Fu" for short.
Oh wait, their lawyers already use it. Must be past beta then.
Give me my freedom, and I'll take care of my own security, thank you.
When I was in college, everbody told me to be proficient in VC++/MFC, because "that is what everyone is using", then I heard this about C#. I told them I have too much pride than to center my education on programming on a particular platform. I was told that I would never find a job, well it turns out there is a lot of money in embedded programing, so I say f#(k F#/C#/MFC.... There is a lot of money out there for people who know gcc/++ and know how to program in a POSIX compliant environment (and don't tell me that NT is POSIX compliant). F#(K MSFT!
I want my rights back. I was actually using them when our government stole them after 9/11.
google for Marian Rejewski Enigma Code Breach
I remember using this language in college when a vendor marketed it as Miranda. I found some incredible productivity gains once it was understood, but unfortunately I see little chance in the unwashed masses grasping Haskell. The imperitive/OO paradigm is so entrenched that it would take a sea change to push it out now.
*DRUM ROLL*
A G-flat to me.
Thats all from me, goodnight and remember to tip those waitresses...
Plays violent online games as: Nerfherder76
And while I love to make fun of C#, I think that "sharp" as a metaphor for improvement is no more silly than "++" as a metaphor for improvement (especially since "C++" would seem to mean "add some stuff to C without changing the actual result you get").
All's true that is mistrusted
Isn't XSL a functional language?
I think Microsoft will be placing F# in the dataprocessing arena.
thank God the internet isn't a human right.
But most of all, what does the discussion of one more language bring us? Agreed, languages get better, safer, more powerful, more abstracted. But the rate of change is so slow that it hardly seems worthwhile. Abstraction does not require syntax, after all, only the mental ability to form and use the right kinds of models. Someone who says "you cannot do such-and-such in language X" is simply someone who has not been able to see how.
My point is this: at certain levels, the choice of language is close to irrelevant, and new languages do not define progress of any kind. In contrast, new languages encourage the "throw it all away" mentality that plagues our business. You simply cannot develop a craft into a process if you have to reinvent your world every three or four years.
Programming languages are not and will never be magical solutions to the problems of writing good, large applications.
Excessive relevance is not a good thing in software. Good models of abstraction come from stepping back from the detail and looking at much larger pictures. Can you imagine a workflow model that allows people in five companies to collaborate on a project? Does the implementation of this depend on the language you use? Of course not. Can you invent an abstraction language that will support the model? Yes, and XML is a good place to start. Is this kind of thing worth doing? Yes, now you are starting to build abstractions that work ten, a hundred times better than conventional programming methods.
Sig for sale or rent. One previous user. Inquire within.
So he talks about how you can implement that Map function on a list.
:: Map f t;
//prepare the vector
//And here we map sqrt on all elements in the vector
//And this is another type of mapping to print the vector
fun Map f [] = []
| Map f (h::t) = f h
And this is beautiful. I love functional languages. But just for completeness, this can also be done in C++.
The following code should compile with the proper headers on any platform that supports C++
vector<float> v_i;
v_i.push_back(1);
v_i.push_back(3);
v_i.push_back(5);
transform(v_i.begin(), v_i.end(), v_i.begin(), sqrt);
copy(v_i.begin(), v_i.end(), ostream_iterator<float>(cout, ", "));
The Internet is full. Go Away!!!
Not to re-hash (heh heh) the temperament thread above, but I've always thought the major seventh between the mediant and subdominant was a lot more pleasing than the major seventh between the leading tone and tonic; I think IV - III is about a comma smaller than I -- VII. So maybe F# and G only sound good in D.
All's true that is mistrusted
Want an "interesting mix of imperative and functional features" in a language any C/C++/Java programmer can start working with immediately? Try Nickle.
Thanks all of you for correcting me so the others won't be confused. Thanks also for your valuable opinions and very useful references.
Less is more !
Then again, maybe all these fourths mean that they want us to use the Forth implementation for the CLR, DeltaForth.NET.
Now, as silly as the particulars of the .NET CLR may be, the idea of a truly language-neutral runtime is something I've been hoping for for a long time, and I'm really glad to see languages I enjoy like Forth and ML getting in on it. Now, if they would just make a Lisp.NET...
All's true that is mistrusted
Hello World needs 8mb of ram.
The end.
Yeah, you're right. Ever since I lost my glowing box, I don't know what to believe.
It's from music notation.
Do your musicians call their notes A hash? I doubt it.
Since when did ML mean anything other than Machine Language?
8 01 086.html
http://www.chisp.net/~dminer/c64/gazette/8801/8
Enjoy,
It's just the normal noises in here.
The only thing I can think of is that an array is stored contiguously in memory whereas a list is linked by pointers (references, whatever).
is the true successor to C and C++. See digital mars.
There's a new language being formed in the bowels of Microsoft.
F.U.
Table-ized A.I.
I'm not learning another language, f#ck that!
[alk]
They should be calling it F#$@!
Not F#...
I don't work for a company that programs for Windows or anything, I've simply used the tools in my spare time to make useful little Windows programs. So I can say firsthand that it isn't really so bad. I still get my hands dirty with small Linux apps from time to time and I stick with C/C++ for all that (as if there was a huge choice). Seriously, though, I doubt it could be easier to learn how to make a full-fledged X-capable app with widgets in Linux than it is to just open up Visual Studio and whip up a simple app that does the backend stuff for you. On the same note, I understand that many people hate the abstraction that goes on here and that makes sense.
The bottom line is that if you've got to do some Windows programming, the tools are easy to use and there is plenty of documentation for learning.
Just my two cents.
the compiler is built with a different language (excluding assembly) on a different OS running on a different CPU architecture.
"We'll build it on our expensive equipment for use with your cheap toy"
Microsoft should release their new High Security Language, B#, any day now. It's secure, because there are very few keys that can make it work.
someone had to say it...
"Right now, somewhere in this world, Scott Baio is plowing a woman he doesn't love," - Peter Griffin, *Family Guy*
I doubt there is any direct link. The ML developers in Harlequin were based in the UK, and as far as I know, none of them took jobs with Microsoft when that part of the company was disbanded. The story of Harlequin's ML and Dylan efforts is a long and sorry tale of leading to a missed window of opportunity.
a.
"sharp", "hash"...
# is also "pound". Go where you will.
But one thing I hate about C# (and by extension, F#) is that it is nearly impossible to search stuff for it. Most online search engines (e.g. Amazon, google, etc.) barf when they see a "#" symbol in the input. Either they ignore it, or they split the tokens into "C" and "#" and usually give you nothing vaguely similar to what you want.
Note that even the C# compiler is named 'csc', not 'c#c'.....
Let's stick to alphanumeric symbols for language names, if only to make our Amazon purchases easier ;-)
Indeed, it looked that way to me - Harlequin's was a project ripe with optimisim which steadily evaporated as real-world developers continued to do battle with less adventurous languages. As I remember it, at least.
I'd intended a "?" in my title (but bungled) - hoping to prompt some comment about the differences between the systems. Wasn't Harlequin's based on SML not oCAML?
Isn't that where ALL their sofware comes from??
Yeah, but you're not supposed to see that =)
As far as I remember, it was SML based.
a.
...that Ocaml is speed competitive with C when compiled, and with java when bytecoded. Meanwhile haskell is more in the same speed category as awk and tcl.
Data here.
http://www.bagley.org/~doug/shootout/craps.shtml
Sodding slashdot.
Considering I started with ML and Assembler (for PC & Mainframe) maybe now a programmer can actually be called a programmer.
I learned Pascal, COBOL, PL/1, & C. After that I lost interest because any fool could call himself a programmer. I just couldn't accept that someone creating a screen for data entry in dBase was calling him/herself a computer programmer. I also felt a little cheated with some of these languages that generate huge chunks of code for the 'programmer' and the compilers that not only point to the error but tell you what to do to fix it. I know this is innovation but I feel this is what led to sloppy programming and the after-effect of bug-ridden software. A 'programmer' no longer had to think about what he/she was trying to produce.
True, ML and Assembler are 2nd genteration programming languages and long since considered 'dead' but some of us still use them today. Why? Because with them you have very powerful control over a comuter. Why else would M$ get rid of DOS. If you can boot a computer into DOS you can use a simple text editor and DOS compiler to create a program to manipulate the Windows OS.
The GEEK shall inherit the earth...
If I could think up shit like that, I'd move to France and style myself an 'intellectual'.
Unfortunately, I'll just have to keep on writing stable and robust real world applications in C and Java, and not bother my pretty little head about N-dimensional pseudology.
oh brave new world, that has such people in it!
Maybe they will create a language called F#C# .... which also would describe the adaptation stage!
Yes, but C++ doesn't really have support for closures. If the function needed some state information, then you would have to create a class, a constructor, destructor and an overlaoded function call operator(). You would have to write 20 lines of code to use "transform". In the end, everybody just winds up writing a for loop, that is much smaller and simpler to understand.
I looked into this a month or so ago. My take is that it's just a toy from MS Research. Nowhere in any of this did I get the impression there was any serious effort to market this as anything but an academic toy.
I don't think anyone with half a brain expects F# to replace C# or Java or VB.NET.
It's for programming competitions. Not for writing enterprise business applications.
http://chicagodave.wordpress.com
I'm just a bit bitter cause I spent half a day banging my head against simple problem which the w32api doesn't let you solve simply.
0 ,0,_ x,bt_y,T EXT,0,(LPARAM)parse_text);
I have a dialog from a resource file. I want to change the width of the dialog depending on what the text width is going to be (sorta like MesageBox does but I need a fixed width font).
OK not too bad, now I want to center the OK button. But to do that I've got to figure where the top of the button was so I can pass that back to the SetWindowPos call. Brick wall...
Here's what I had to do...
case WM_INITDIALOG:
{
int st_width, st_height;
int dlg_width, dlg_height;
RECT tmp_rect;
int dlg_x, dlg_y;
int bt_x, bt_y, bt_width;
TEXTMETRIC tm;
HDC hdc = GetDC(hwnd);
SelectObject(hdc, GetStockObject(SYSTEM_FIXED_FONT));
GetTextMetrics(hdc, &tm);
ReleaseDC(hwnd,hdc);
GetWindowRect(hwnd, &tmp_rect);
dlg_height = tmp_rect.bottom - tmp_rect.top;
GetWindowRectClient(GetDlgItem(hwnd, PB_PARSE_OK), hwnd, &tmp_rect);
bt_y = tmp_rect.top;
bt_width = tmp_rect.right - tmp_rect.left;
GetWindowRect(GetDlgItem(hwnd, ST_PARSE_TEXT), &tmp_rect);
st_height = tmp_rect.bottom - tmp_rect.top;
st_width = get_max_line_width(parse_text) * tm.tmAveCharWidth + 40;
dlg_width = st_width + 12;
bt_x = (dlg_width-bt_width)/2;
GetWindowRect(GetDesktopWindow(), &tmp_rect);
dlg_x = (tmp_rect.right-dlg_width)/2;
dlg_y = (tmp_rect.bottom-dlg_height)/2;
SetWindowPos(GetDlgItem(hwnd,ST_PARSE_TEXT),NULL,
st_width,st_height,SWP_NOZORDER|SWP_NOMOVE);
SetWindowPos(hwnd,NULL,dlg_x,dlg_y,
dlg_width,dlg_height,SWP_NOZORDER);
SetWindowPos(GetDlgItem(hwnd,PB_PARSE_OK),NULL,bt
0,0,SWP_NOZORDER|SWP_NOSIZE);
SendMessage(GetDlgItem(hwnd,ST_PARSE_TEXT),WM_SET
}
Ugly isn't it.
The function GetWindowRectClient(hwnd,hwnd_parent,rect)
I had to write that myself because SetWindowPos requires coordinates relative to its parents client area. There is no function in the w32api that gives you that information, but your supposed to pull it out of your ass if you want to change an X coordinate of a window and not the Y coordinate
Interesting that my mind just assumed we were beeping something out.
The game of life is not so much in holding a good hand as playing a poor hand well. - H. T. Leslie
http://www.cs.mu.oz.au/research/mercury/
Looks like prolog but fast.
Someday we'll all be negroes
http://lambda.weblogs.com/discuss/msgReader$1200
.NET version.
h tm l
BTW it's a new language but it's gaining buzz... at least with my logic programming teacher (and I do believe in fact more widely). Interestingly it has a
http://www.cs.mu.oz.au/research/mercury/dotnet.
Someday we'll all be negroes
I've referred to C# as, Db instead of C#, but that would mean it is for databases, oh well.
is it just a coincidence or is Microsoft picking langauge names that a lot of search engines can't handle? C#? F#?
I just did some tests with C# and less than half the search engines I looked at actually used the full string for the query. The rest dropped the # as punctuation and gave me any generic "C" results it could find.
Was there any thought put into this? Have we heard any statements or interviews from Microsoft about this?
Personally, with C, C++, and C# all looking identical to some search engines, I think they are going to make life rough for developers trying to look up documents/tips/errors/FAQs about their respective languages...
In the Portland, Ore area and like card games? Check out: http://groups.yahoo.com/group/portlandgames/
In an attempt to further control the controlling control schemes, they built the FU platform as a more direct way of marketing to thier moronic customer knowing full well that they would neven catch on!
I couldn't resist!!!
Oh, wait...
MapWindowPoints?
Windows programming isn't real programming.
It sounds much worse if you reverse the characters making it a # f.
I mean, then MS programmers would need to either C# or Bb. :)
Nathan
There is no function in the w32api that gives you that information
If you didn't use it already in GetWindowRectClint, ScreenToClient will at least do the coord conversion for you. But I do agree, ui coding with C and the Win32 API ain't a whole lot of fun.
> nearing workable stages at Microsoft Research
Windows 2.03 was in nearing workable stages at Apple Research in 1982.
I just noticed something: in musical notation, the key signature for C# has the most number of sharps. F# is one fewer. A hundred bucks says the next .NET language is named B, then E, A, D, and G. The last language they release will be...wait for it...C! The key with no sharps!
Transcript show: self sigs atRandom.
- Topology is a branch of mathematics, not a game.
- How do vectors bound anything?
- What the hell do you mean by "finite" vectors? It's almost a tautology. You said you're in an "N-dimensional topology" so the vectors are obviously of finite dimension. How are they going to be infinite?
Stringing together a whole bunch of terms you heard while dozing in your maths classes do not make you sound intelligent."Where is the wisdom we have lost in knowledge, and where is the knowledge we have lost in information?"-T.S.Eliot
F...Ha Ha Ha.
what the F#?
Well lah-di-F#ing-dah.
E
Marxist evolution is just N generations away!
IOF#CC just doesn't have the right ring to it. I'll stick with C. :)
Assorted stuff I do sometimes: Lemuria.org
There are quite a few researchers that use Java to implement things like compilers and interpreters.
Anyway, it is done, though arguably not in a commercial context.
Anyway, it is done, though arguably not in a commercial context.
You have a point there. But that makes sense-- researchers are doing research, so the the last thing they want is to get bogged down in dealing with hardware or OS dependent quirks. Java is pretty good for doing that.
If a job's not worth doing, it's not worth doing right.
I'm using mingw/cygwin for my development. I don't have Visual C++. Besides, I still don't trust C++ in general yet. So I suppose you figure I'm already a sucker for punishment and should stop complaining :). But hey, I'm not a total ludite like those win32 in assembly programmers :)
Anyways, somehow I guess I missed the MapWindowPoints function, thanks for the tip. I usually use the first thing in the win32api that'll do the trick and I didn't stumble on that one right away.
Thanks, I already did use it:
BOOL GetWindowRectClient(HWND hwnd, HWND hwnd_parent, RECT *rect)
{
POINT p;
if (!GetWindowRect(hwnd, rect))
return FALSE;
p.x = rect->left;
p.y = rect->top;
if (!ScreenToClient(hwnd_parent, &p))
return FALSE;
rect->left = p.x;
rect->top = p.y;
p.x = rect->right;
p.y = rect->bottom;
if (!ScreenToClient(hwnd_parent, &p))
return FALSE;
rect->right = p.x;
rect->bottom = p.y;
return TRUE;
}
One of these days someone (maybe me) should make a library for all the "missing" API calls. You know the ones you have to code yourself that should have been in the API in the first place
Sure, and they'd love to relegate VB6 as well. It's interesting, however, that Microsoft is currently demonstrating more practical support for real (not "Managed") C++ than at any point in its history.
The thing is, if you knock out C++, COBOL, FORTRAN and VB6, you've just ruled out four of the most popular programming languages on the planet, which together with C and Java probably account for, what, 95% of successful projects developed/maintained over the past decade? 98%? 99%? 99.9%?
Compared to these things, C# and VB.NET aren't even a blip in the ocean yet. There is potential in .NET to be sure. We all know there are serious drawbacks to each of those other languages in the wrong context, and we all know better is possible. But the fastest thing to kill .NET will be the attitude that these others are "legacy" languages. "Tried and tested" is the way a smart guy would look at it.
Something else may be better. In fact, it's pretty much a sure thing that sooner or later something else will be better. But if Microsoft's .NET group drop support for the current established big players before they've proven their replacements (and that will take years, if not decades) then they'll reduce their platform to a mere curiosity and not a serious platform for serious developers.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Or it doesn't work for every language, as the case may be.
The common library will be useful for those who would otherwise have to learn a different GUI or database access or Internet comms library in each language they use. Then again, if you're familiar with GUI programming generally -- event-driven designs, typical WIMP environments, etc. -- then learning a new library doesn't take very long, as they're all much the same anyway. And of course, even then, you probably only learn a small number of such libraries anyway, but you have to keep up to date as they evolve, just as you'll need to with .NET's.
Where .NET, like Java before it, may fall down is the fact that it probably won't be the best UI/DB/comms library for everyone, so the commonality argument is diminished. And of course, there will always be thousands of specialist applications where the .NET library won't offer anything, and in many cases, these will only be developed for the languages of choice in those specialist fields, be they C, LISP, VB, or whatever.
Basically, I think the library commonality argument has some truth in it, but it's vastly overhyped in practice.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
That senior level MSFT execs have been taking music lessons lately? Just wondering, this new languge-naming trend has an odd consistency to it.
Of course, I'd _love_ to see somebody do the "Developers..." (Ballmer) clip in a falsetto, as if on helium. In fact, I think I'll try that on my (linux) workstation. Just for grins, of course.
C|N>K
Ok my age is showing. I remember the pound sign representing English currency (money) being shift-3 on my old typewriter. It looked like a curly capital L with a short dash through the middle of it. When the american keyboards took over, the # replaced the curly L symbols keyed by shift-3. Otherwise I can think of no other reason why the # symbol would be called "pound". So I refuse to go there. The pound weight was always written lb (ell bee). And I have never known how you get lb out of "pound".
-- it must be true, it's on the internet.
The very fact that computer languages are now being changed only to obfuscate the C programming language tells volumes about the corporate agenda.
Originally C++ was designed to make it easier to create extentions, and morph existing primitives. Along comes Microsoft, and now the programmer does not need to know how things work.
No wonder so much junkware exists for Windows, any
goof with a microsoft compiler can create an executable, hide what they wrote and then try to sell to gullible Windows users. F# will just make it even easier to create proprietary junkware.
OH THE SHAME I fell off the wagon and use sigs again!
Tried Borland Kylix?
You are, of course, assuming equal temperament. And as we all know that Microsoft believes in everything unequal, we must assume that they tune their languages in the same way, thus making F# brighter than Db. Is this the beginning of a bright future for F#? Lets hope not. Its becoming more and more evident that we as a society will not tolerate Microsoft's inequality. LONG LIVE EQUAL TEMPERAMENT!!
I think it means Fuck Sharp [things?]
Insightful?!?!
WTF!
The joke is that the names are C - Sharp and F - Sharp, but that they fall flat -- ha ha ha, get it? Both musical terms. Sharp is a note moved up one half step; flat is the note moved *down* once step, chortle chortle, *gasp*. ROTFLMAO.
We now continue our regularly scheduled broadcast.
Karma: Chevy Kavalierma.
yes, these are the same things you use to steal other people's code every day. im sure you love them
god damn code theif.