2. F# - Great functional language that's compatible with C# and runs on Mono.
3. TypeScript - Nicer to use Javascript, with added type safety.
They all are first-class in Visual Studio, which is a big plus.
61–70 of 75 posts
2. F# - Great functional language that's compatible with C# and runs on Mono.
3. TypeScript - Nicer to use Javascript, with added type safety.
They all are first-class in Visual Studio, which is a big plus.
C++ - yes low level programming, stable, lot's of resources, general usage and lot's of great libraries.
Python - Modern and easy scripting language. This to me is the swiss knife (and replaced Perl) of modern scripting programming languages. It can be used in nearly every project.
Swift/Rust - Both are great languages, I believe both will have a great future maybe Rust will take more time to gain traction.
C - Pretty much everything is built on top of C right now.
Javascript/html/css (using Flow to add a robust type system, since dynamic typed languages are shit for long term ease of development)- Required if you want to do anything web plus its the only true cross platform GUI to use on top of your F#.
First I will say, in addition to the 3 that I will mention, you should have some level of experience with Javascript, ES6 and Node. This is due to the pervasive nature of javascript in web development, mobile,realtime and client side build systems.
That aside here are my choices:
For highly scalable, fast and realtime web apps Elixir\Phoenix is my choice for its ruby like syntax, Erlang based language with a framework that has built in websocket support. Alternatively you can go with Golang or Scala\AKKA throwing in some Node for realtime capability.
For medium scale web apps, rapid development, building MVPs. Python\Flask is my choice for an expressive dynamic language and flexible framework with big ecosystem of extensions. alternatively you can go with django, ruby\rails or php\Laravel
For the enterprise, large project, large team, maintainable web apps C# and ASP.NET 5\Signalr is my choice for a dynamically compiled, statically typed, decently scalable with async capabilities framework including websocket support that runs on windows and linux
Alternatively you can go with Java\Scala\Play
Common Lisp, ASM, Perl (which imo includes Perl 6) That way I could still find a job in ten years from now.
1. Good Scala - FPish Scala, coupled with Scala libraries such as Spark, mllib, scalaz, Scalding, Apache Math, colt, akka.
2. Bad Scala - Using Scala much more as an imperative lang, primarily for 3 purposes - shell scripting, web front-end html5 graphics and DOM manipulation with scalajs and web back-end with scalatra.
3. R - This one is not going anywhere in a million years thanks to Hadley Wickam and co. Now with SparkR I get to use #1 and #2 with #3.
My one desire is that Styla becomes a first class citizen in this ecosystem as well - when you need prolog, there is often no easy substitute.
I don't think there's a reason to be limited to 3 programming languages. Perhaps you can only be fluent in 3 languages at once , but knowing more languages is definitely not harmful. I know more than 10 languages to a degree where I have written at least one non-trivial project with them. I can't claim to be fluent in all of them at this moment, but I can quickly ramp up to a productive level in a matter of a few day…
"I often feel that the American programmer would profit more from learning, say, Latin than from learning yet another programming language." -- Edsger Dijkstra https://www.cs.utexas.edu/users/EWD/transcriptions/EWD06xx/E...
For instance, he was very right about the goto abuse but the idea of removing a powerful tool from your belt just because can be abused is a bit too much. Here I suspect is happening the same, he was concerned about people learning a lot of languages but not mastering a single one, still that doesn't negate the advantages of master one language and learning more.
Clojure is a powerful and simple language that gives you access to the jvm and the web. The community follows a composable library based approach to functionality which allows you to really understand how your stack works.
Rust, because it's a safer alternative to c/c++ but still allows you to be bare metal. Want to work on microcontrollers? No problem!
So combined Clojure and Rust fluency give you the ability to develop for pretty much everything and they are incredibly powerful in their own rights.
And finally c# because it's a nice language with lots of well paying jobs.
F# - Functional language where you can cheat more than haskell if you need to. Can use all the .net ecosystem and works everywhere (linux, windows, mobile, can compile to js.) C - Pretty much everything is built on top of C right now. Javascript/html/css (using Flow to add a robust type system, since dynamic typed languages are shit for long term ease of development)- Required if you want to do anything web plus its…
How can you cheat more than Haskell? Couldn't you just put everything in IO in Haskell to get the same (or at least similar effect)?