4 ms·
It's only good enough for data scientists because they don't know any better. For existing projects, fine, stick with Python. But Julia is strictly superior to
by smabie 6y ago
It's only good enough for data scientists because they don't know any better.
For existing projects, fine, stick with Python. But Julia is strictly superior to Python in everyway, there is nothing that Python is better at than Julia. This is partially because Julia can call any Python library, but mostly because it's actually designed for data science and scientific computing.
- bobajeff 6y ago>But Julia is strictly superior to Python in everyway That is until you use the debugger.
- FridgeSeal 6y agoThe debugger has had a huge amount of work done on it recently. Anyway, half the data-scientists I know don't use the debugger, they're solidly in the print-to-debug camp, or they're using notebooks and going step-by-step.
- smabie 6y agoHell half the programmers I know don't ever use a debugger. I usually prefer to just think about my code and add some print statements, but occasionally I get super frustrated and throw up my hands. Feels like a personal failing on my part though.
- siproprio 6y ago>>But Julia is strictly superior to Python in everyway >That is until you use the debugger. Or stumble into the first example in JuliaPlots, which doesn't work.
- dalke 6y ago"Everyway" seems like unneeded flamewar fuel. Here are a few things where it seems that Julia is not strictly superior to Python: Julia doesn't run everywhere that Python does. Especially if you include all of the Python implementations, including MicroPython. Last I checked, Julia's startup cost was high, making it the wrong choice for short-lived programs. Yes, people do scientific computing in short-lived programs. Now, I don't know where Julia stands in this, but Python is used to teach people to program, including high school students and younger. By the time Python was 8 years old (as Julia is now), Python was being used in high school courses. Python's built-in "turtle" module exists as part of that education component - at one Python conference, an educator pointed out that it can be very hard to get anything installed at primary and secondary schools, so having a maintained "turtle" in the base installation was important. I therefore suspect Julia is a worse teaching language than Python for high school level and below.
- ddragon 6y agoAbout your last point, you shouldn't conflate popularity with being better. There are languages with heavy focus on education (both in the language itself and tooling) like Racket that are still not heavily used compared to python even when they provide a great environment for learning from basic to more complex comp sci. Regarding Julia, yes the focus seems to be more on college, where the matlab-like math support makes it a lot closer to regular math. Though since it's not very different from Python someone can still pick it up easily from knowing Python in high school (or Racket).
- dalke 6y agoI think Python is a better teaching language because it comes out of and is informed by ABC. ABC went through user testing to see how to develop a programming language that would make it easier for non-programmers to learn how to program. Remember, I am presenting what I think are counter-examples to "is strictly superior to Python in everyway" (excluding "existing projects"). I still think that's true even if Python weren't popular at all. As an example of the influence, the ":" at the end of lines which start a block in Python is not required, in the language sense. However, ABC testing showed it made the language more useful. As an example of improving Python for learners, one of the reasons for Python's change from 1/2 == 0 -> 1/2 == 0.5 was feedback from the Alice developers, where they found that students did not understand van Rossum's decision to follow C's semantics. Python started being used in schools when it wasn't popular. One of the presenters at the Python conference in 1998 or so was a high school AP comp sci teacher. At that time C++ and Java were the AP languages. He reported better success teaching students Python first and then teaching C++ or Java, than spending all of the time in one of the latter languages.