Why they keep developing Java/C#
I believe the functional languages are taking the field by storm (ocaml, f#, haskell, clojure, scala). and I wonder, why do we need languages like C#, Java for ?
4 comments
I kinda like to be able to write equations that, you know, look like math.
functional programming is just not well suited for that kind of work.
functional programming is just not well suited for that kind of work.
Honest question: how much commercial software engineering experience do you have?
what alatkins is trying to say (i think), is that, depending on your skill set, different tools are easier to use for specific purposes.
That said, I would consider myself an expert C# developer, but unfortunatly needed to move to javascript (nodejs/angular) due to the limited deployment+ecosystem flexibility C# provided. A real pitty, C# and Visual Studio are best-of-breed, and very powerful.
That said, I would consider myself an expert C# developer, but unfortunatly needed to move to javascript (nodejs/angular) due to the limited deployment+ecosystem flexibility C# provided. A real pitty, C# and Visual Studio are best-of-breed, and very powerful.
Have you tried TypeScript ? I think coming from a C# background TypeScript and his integration with VS will be a breeze.
that's exactly how i got started :)
in hindsight, typescript was the ideal way for me to migrate from C# to Javascript. now I can write "pure" javascript without typescript holding my hands, but i do greatly prefer having typescript around!
the only drawbacks of typescript (visual studio) I see right now is lack of debugging support for nodejs, and lack of angularjs intelisence (webstorm supports that well)
in hindsight, typescript was the ideal way for me to migrate from C# to Javascript. now I can write "pure" javascript without typescript holding my hands, but i do greatly prefer having typescript around!
the only drawbacks of typescript (visual studio) I see right now is lack of debugging support for nodejs, and lack of angularjs intelisence (webstorm supports that well)
Doesn't 2012.2 and the web developer add on really improve intellisense for js libs (among many other things)?
I'm a C# dev... and it feels a lot like going back in time working with other toolchains sometimes (especially on the SQL side of things).
I'm a C# dev... and it feels a lot like going back in time working with other toolchains sometimes (especially on the SQL side of things).
I used to develop software using C#/Java back in 2003 :)
and I've been using functional languages for a few years now, and never looked back.
I don't know what field these languages are "taking by storm" -- it certainly isn't the field of corporate software development.
Java and C# have the following advantages:
- Familiarity, which means programmers are easy to hire and can finish projects without overcoming a learning curve
- A huge amount of high-quality libraries for almost any task
- Good IDEs and build tools
- The concepts are not exotic. The object-oriented features are now the industry standard.
Nobody wants to spend the time to learn these new languages if they don't offer a significant improvement over Java and C#. Of the ones you listed, Scala is the most likely to succeed because it can interoperate smoothly with Java and offers concurrency features that Java does not. Twitter's successful use of Scala has also contributed to the language's popularity.
Java and C# have the following advantages:
- Familiarity, which means programmers are easy to hire and can finish projects without overcoming a learning curve
- A huge amount of high-quality libraries for almost any task
- Good IDEs and build tools
- The concepts are not exotic. The object-oriented features are now the industry standard.
Nobody wants to spend the time to learn these new languages if they don't offer a significant improvement over Java and C#. Of the ones you listed, Scala is the most likely to succeed because it can interoperate smoothly with Java and offers concurrency features that Java does not. Twitter's successful use of Scala has also contributed to the language's popularity.
I mean software development in general.
About the Advantages:
-I see C#/Java copying the functional language features, which isn't supported by default which yields an ugly code, more lines to write.
-No one can argue on the amount of the libraries available, but It's more JVM/CLR thing, so you can access it from anywhere
-on the concepts not being exotic? well, porting functional language features doesn't really help :)
-on the benefit, I believe coding in a functional language is more productive and more expressive, don't you?
Legacy is a bitch, specially if it is 60 years old imperative programming with object oriented makeup.