July 30, 2012
On 28-07-2012 18:07, Andrei Alexandrescu wrote:
> On 7/28/12 10:04 AM, Paulo Pinto wrote:
>> On Saturday, 28 July 2012 at 12:42:47 UTC, Stuart wrote:
>>> On Saturday, 28 July 2012 at 09:37:47 UTC, Paulo Pinto wrote:
>>>>
>>>> I tend to favour F# instead of OCaml due to three things
>>>
>>> I've never really seen the point of F#. Aside from maths, what is F#
>>> good for that a standard imperative language is not? Especially when
>>> you consider that all flavours of .NET have native support for LINQ.
>>
>> Let me see:
>>
>> - Symbolic code manipulation;
>> - Metaprogramming;
>> - Easy parallelization of code thanks to immutable data structures and
>> workflows
>> - Type providers (comming in F# 3.0) to manipulate remote data as
>> language data types
>> - The right way of doing type inference (shared by all ML languages)
>> - Asynchronous programming builtin without having to wait for ..NET 4.5
>> - Algebraic data types
>>
>> Microsoft wouldn't have brought F# into Visual Studio if it wasn't worth
>> it, Microsoft is a business, not a language charity company.
>
> It was for Basic :o). Anyhow, indeed, the tools around it make F# pretty
> cool (just not all that original as a language).
>
> Andrei

What makes you say that?

I guess that opinion stems from F# being based on OCaml's syntax? (But then to be fair, we would have to call D very unoriginal too...)

Either way, F# adds a *ton* of stuff on top of OCaml that makes it a far superior language:

* Reified generics: http://msdn.microsoft.com/en-us/library/dd233215(v=vs.110)
* Inline functions (I'm still amazed D doesn't have this yet): http://msdn.microsoft.com/en-us/library/dd548047(v=vs.110)
* Type extensions, a (IMO) much cleaner approach to artificially extending types: http://msdn.microsoft.com/en-us/library/dd233211(v=vs.110)
* Pattern matching (oh how I miss this in compiler code): http://msdn.microsoft.com/en-us/library/dd547125(v=vs.110)
* Annotations: http://msdn.microsoft.com/en-us/library/dd233179(v=vs.110)
* Units of measure: http://msdn.microsoft.com/en-us/library/dd233243(v=vs.110)
* Computation expressions (F#'s humanly understandable take on monads): http://msdn.microsoft.com/en-us/library/dd233182(v=vs.110)
* Code quotations, making for metaprogramming that can do things even D's metaprogramming can't: http://msdn.microsoft.com/en-us/library/dd233212(v=vs.110)
* Async workflows (actually a library solution built through computation expressions): http://msdn.microsoft.com/en-us/library/dd233250(v=vs.110)
* Query expressions (again, based on computation expressions): http://msdn.microsoft.com/en-us/library/hh225374(v=vs.110)
* Automatic generalization: http://msdn.microsoft.com/en-us/library/dd233183(v=vs.110).aspx
* Type providers (type-safe data access): http://msdn.microsoft.com/en-us/library/hh156509(v=vs.110).aspx

There are probably lots of other features that I have forgotten. I don't think calling F# unoriginal is fair...

-- 
Alex Rønne Petersen
alex@lycus.org
http://lycus.org
July 30, 2012
On 7/30/12 3:33 PM, Alex Rønne Petersen wrote:
> There are probably lots of other features that I have forgotten. I don't
> think calling F# unoriginal is fair...

I stand corrected!

Andrei

July 30, 2012
On Monday, 30 July 2012 at 19:31:51 UTC, Nick Sabalausky wrote:
> On Mon, 30 Jul 2012 07:04:21 +0100
> Russel Winder <russel@winder.org.uk> wrote:
>>
>> My experience from various training courses I have given is that in
>> the large corporate Web applications world, the average programmer
>> knows Java, just enough Java, and isn't that interested in anything
>> else. Gross oversimplification but a good indicator.
>
> Ugh, such "programmers" don't deserve a paycheck. It's like hiring
> someone who never learned arithmetic as an accountant. Makes no
> fucking sense at all - they just simply *can't* do their fucking trade,
> period. The "programmer" and the hiring manager should both be fired
> and pointed to nearest (possibly hiring) fast food joint.
>
> (Incarceration for "impersonating a programmer" would perhaps be more
> appropriate ;) )

Sadly this is how many well known consulting companies with a big client portfolio of Fortune 500 companies work. I happen to work in one of them, you would be amazed what managers and clients look for as developers.

As a guy I know says, pay for a FIAT while expecting to get a Ferrari in the end.

--
Paulo
July 30, 2012
On Mon, 30 Jul 2012 22:22:22 +0200
"Paulo Pinto" <pjmlp@progtools.org> wrote:

> On Monday, 30 July 2012 at 19:31:51 UTC, Nick Sabalausky wrote:
> > On Mon, 30 Jul 2012 07:04:21 +0100
> > Russel Winder <russel@winder.org.uk> wrote:
> >>
> >> My experience from various training courses I have given is
> >> that in
> >> the large corporate Web applications world, the average
> >> programmer
> >> knows Java, just enough Java, and isn't that interested in
> >> anything
> >> else. Gross oversimplification but a good indicator.
> >
> > Ugh, such "programmers" don't deserve a paycheck. It's like
> > hiring
> > someone who never learned arithmetic as an accountant. Makes no
> > fucking sense at all - they just simply *can't* do their
> > fucking trade,
> > period. The "programmer" and the hiring manager should both be
> > fired
> > and pointed to nearest (possibly hiring) fast food joint.
> >
> > (Incarceration for "impersonating a programmer" would perhaps
> > be more
> > appropriate ;) )
> 
> Sadly this is how many well known consulting companies with a big client portfolio of Fortune 500 companies work.
> 

It's no surprise then as to why, outside of management circles, consulting companies have gained a reputation for not knowing what they're doing.

9 10 11 12 13 14 15 16 17 18 19
Next ›   Last »