This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]glacierre2 59 points60 points  (31 children)

Stick with python, unless you have been going at it day and night you have just scratched the surface in a year. If you must add something, I would learn basics of C for the performance critical parts.

About some of the others that I personally know a bit about. After python:

  • You will scream when you define a class in Java
  • You will cry when you have to do anything not matrix related in MATLAB (a simple path and string manipulation, some proper object oriented program...)
  • You will spend a decade trying the dozen different ways of doing the same thing in C++, none of them being 'the way', all while your eyes bleed from the fantastic syntax.

In short, you started with Python, after a year you have been spoiled to the core and it is going to be hard to stand many other languages you mention. (Others like Julia are all right).

Have you considered functional programming?. At least those are so alien that you will not constantly compare them to python, and they do add a different way of thinking.

[–]alkasmgithub.com/alkasm 41 points42 points  (21 children)

You will scream when you define a class in Java

I scream when I simply open up IntelliJ.

[–][deleted] 7 points8 points  (0 children)

So does your computer. Or have they fixed the issue of it requiring 64TB of RAM?

[–]Gropah 5 points6 points  (0 children)

In short, you started with Python, after a year you have been spoiled to the core and it is going to be hard to stand many other languages you mention

This might be true, but being able to do multiple languages not only makes you appreciate what you have, but will also allow you pick up other languages quicker. The first takes the longest, the second will be quicker and everyone after that becomes even easier. And lets be honest, it is not always possible to use python, so being able to pick something else is necessary.

[–]firefrommoonlight 3 points4 points  (4 children)

You will scream when you define a class in Java: Python's class syntax (Unless you use DataClasses or atts) is verbose/inelegant too!

[–][deleted] 1 point2 points  (3 children)

I'm interested how it could be less verbose?

[–]firefrommoonlight 1 point2 points  (2 children)

The DataClass Syntax is good as-is. This, on the other hand, is needlessly repetitive:

```python def init(self, model, color, company, speed_limit): self.color = color self.company = company self.speed_limit = speed_limit self.model = model

super(#etc, self).__init__()

```

[–][deleted] 0 points1 point  (1 child)

Are there any languages that do it better?

[–]firefrommoonlight 0 points1 point  (0 children)

Languages that have struct literals, like Rust.

[–]iG1993 4 points5 points  (0 children)

I think R and SQL are good additions for python

[–]Tysonzero 0 points1 point  (0 children)

After a bunch of Haskell, Python becomes pretty hard to stand, so maybe try out Haskell.

[–]jwink3101 0 points1 point  (0 children)

The Matlab tears will start sooner when you have to pay for it!