Language of choice?

16    17 Jun 2015 15:35 by u/Lieutenant_Hawkeye

Let's get a sense of what frameworks and languages people on Voat like best. For me it's got to be python with ruby in a close second.

42 comments

8

Like best to use? Python. It's quick and easy to turn my thoughts into code. Also, the Scipy stack is superb for my data work.

Have to use most? Java. It's mature. It's capable. It's everywhere. It's not C++.

Most want an excuse to use? Golang. Faster than Python. Still seems easy to write. Cool concurrency primitives.

2

Yeah, I've recently started playing with python and I like how easy it goes. Works great for developing your ideas into code.

4

And of course all the modules it has. Because these almost everything can be done with python.

2
4
3

Exactly, using bottle, json, and sqlite, I can have a CRUD microservice set up in about 5 minutes. Then 2 minutes later, I can have a script consuming that service with requests. I don't think I like python for very large scale projects (though it gets used for them), but there's no quicker language for me to prototype anything.

1

Yeah, still discovering all cool things you can do with it. Sounds great what you did there! Any cool tips for me?

4
  1. Use Python3 if you don't already. It's the future and it's better. And, if your favorite module is one of the few that only supports Python 2.x, it shouldn't be your favorite anymore.

  2. Use IPython instead of the default REPL if you can. It has tab completion and remembers what you typed in previous sessions. It's nice.

0

Thanks a bunch! Appreciate it :)

1

How do you feel about Oracle taking over java. I am getting up to speed with java for Android, but part of me is worried that Oracle is going to ruin java with ridiculous licensing and etc.

1

I've never liked Oracle. There's a reason LibreOffice and MariaDB forked when Oracle bought Sun. They've been pretty hostile to the open source communities they acquired (OpenOffice.org, MySQL, VirtualBox, Java).

But when it comes to Android, Google is big enough to stand up to Oracle and keep the individual Android devs safe.

2

For data manipulation / viewing python (so much love for python in this thread). For serious number crunching Fortran (yes people still use it)..

1

For serious number crunching Fortran (yes people still use it)

Absolutely! The whole scientific Python stack is built on top of Fortran libraries BLAS and LAPACK. I'm lucky enough to never have had to do any custom work at that level, though.

7

C. It's simple, it's everywhere, it's interoperable with most other languages, it's got great compiler optimizations.

4

I liked C much more after I taught myself how to use GDB. I ate shit in my introductory C class because they wanted us to just pump out projects without actually teaching us how to use the language with finesse. It wasn't until I took Systems (which had a huge emphasis on assembly and the binary bomb) that I learned to love the simplicity of C.

6

JavaScript (ECMAscript) is now a viable language on the server side as well as the browser environment. It is my current preference.

1

Nice to see some ECMAScript love here! Having my entire codebase (client and server) in one language is beautiful, because I can use the same libraries on both sides. I'm looking forward to the new features in ES6, some of which are already supported by browsers. I've been using Typescript in the meantime to bridge some of the gaps.

3

I sort of like Haskell too much so I try to use it for whatever I can. Maybe that will change with time though because I'm still only learning it.

For everything else python seems to have everything I need (in term of libraries/frameworks) because I never really need to use C for anything low level.


From the "newer" languages, my voat probably goes to crystal. The advantage it has over rust is syntax while still having comparable speed, but maybe I'm giving too much value to syntax because I like haskell. Rust is still probably better if you absolutely need that concurrency or safety guarantee though. And I also like both rust and go too. :boring:


Things I hate:

  • Cabal hell, I wish haskell figured out "package management".
    • There is this stack thing but it's still fairly new (although it is promising).
  • Shell languages i.e. bash.
    • To be fair, everyone knows they're not really languages suited for programming but the syntax/system still sucks a lot.
    • This is coming from someone who spends all their time in the terminal and writes shell scripts for a lot of things.
  • Javascript.
    • My view of javascript went from indifference to hate. Probably because it's just so popular now when I feel it shouldn't be.
    • Don't get me wrong, I don't hate callbacks/the asynchronous way, it's the language itself that's fucked.
3

It's Nim for me.

Elegancy of python, merged with speed and portability of C, plus meta programming features. What else can I ask for?

2

Python or C++ are my preferred languages. I also like to use assembly because it's a lot of fun

2

I'm gonna have to say C and Python are tied with Java just behind them at the moment. I started with Java without really understanding what I was doing, then had to learn C in a later class. I gotta say, C was so much more flexible and easier to deal with than Java. However, I feel like I still forget how to properly use pointers to move through arrays. I picked up Python about two months ago, and its pretty awesome. Its a lot easier to put your ideas into code and move through a script.

1

Heavily depends on what I am doing. If I just want to mock up something, or do something that involves a library, pretty much always Python, because it is easy to just build something and there are libraries for literally everything from OpenGL to image analysis and meteorologic maths. If I want something small that is focussed on speed, I might also choose C, but it involves a lot more boilerplate to get something seemingly simple up and running. And since I started to understand it, I also try to write some things in Haskell, where appropriate, because functional programming is really nice once one understands the concepts, and has some benefits, like I love working with lists in Haskell, so much more convinient. Also, having the speed of a compiled language with a REPL for quick testing is really nice imo.

1

For quick stuff, and for things I do on my own, I prefer Python. Python 3 over Python 2, although I really really really dislike the unicode "handling" in Python 3.

I like C# as well, although the whole "tied to the Microsoft ecosystem" thing is frustrating. Supposedly that is changing, but we'll see...

I end up using Java the most, ugh. It is verbose, and slow, and has more than a few rough spots / frustrations (for instance: type erasure + generics. And the lack of operator overloading. And the lack of automatic getters and setters. And so on.)

I enjoy stack-based languages far too much.

0

For me, it has to be java.

The very first language i laid my hands on was java, and i didn't touch any other language for well over a year. However, I really enjoy programming in python as i like the syntax and functionality of the language.

0

Lately I've been a Go fanboy, with Python tied or in second. Depends on the day, I suppose.

0

I use Ruby mainly. Actually, that's all I use these days. I used to be a huge fan of python and C, but over time they saw less and less use.

0

I generally use R or Python for programming, but I tend to work with data analysis quite a bit, so it's kind of natural. I'm using C++ and SQL more now, and I'm trying to steer away from R due to its low speed. It is really great at performing complex tasks very quickly when you want to reshape/visualize data as long as the data sets aren't too large. Otherwise the overhead for for loops becomes too much and you either use Rcpp w/Armadillo, find a library that does what you want it to, or use another language.

0

Haskell. If languages could enter beauty contests Haskell would be Miss Vermont.

0

I love Python, and from time to time I'll be messing around with C. I am checking out Nim, too - syntax of Python and compiles down to C? I know a smattering of Forth, too, but I never used it for anything serious.

0

Depends on what I'm doing. If I just need to automate something... Python or a simple Bash script. If I have to write a GUI application, C#. (I don't know anything other than point and click Windows Forms.)

0

Call me a masochist but I'd have to say Java. It's widely used and there are a gigantic number of libraries out there. It has a couple of pain points but is getting better (at least, pure Java is - Android is still stuck with godawful Java 7).

Kotlin looks like the language that Java should have been, I haven't actually done anything with it other than reading the syntax though.

0

My current tool of choice is D. The native speed, static type system, quick compilation times and package manager are great. Built in syntax for unittests gives you no excuse to not write them whenever you can, and it actually makes you think about your code, which I very much enjoy. It's still lacking in some respects such as the general ecosystem; for example, there isn't really a good command line parsing module (and the one in the standard library is not very idiomatic or nice to use).

That's why I sometimes fall back on Python for quick&dirty jobs, but for anything bigger than a few files, I'll rely on D.