Slashdot Mirror


Is Julia the Next Big Programming Language? MIT Thinks So, as Version 1.0 Lands (techrepublic.com)

Julia, the MIT-created programming language for developers "who want it all", hit its milestone 1.0 release this month -- with MIT highlighting its rapid adoption in the six short years since its launch. From a report: Released in 2012, Julia is designed to combine the speed of C with the usability of Python, the dynamism of Ruby, the mathematical prowess of MatLab, and the statistical chops of R. "The release of Julia 1.0 signals that Julia is now ready to change the technical world by combining the high-level productivity and ease of use of Python and R with the lightning-fast speed of C++," says MIT professor Alan Edelman. The breadth of Julia's capabilities and ability to spread workloads across hundreds of thousands of processing cores have led to its use for everything from machine learning to large-scale supercomputer simulation. MIT says Julia is the only high-level dynamic programming language in the "petaflop club," having been used to simulate 188 million stars, galaxies, and other astronomical objects on Cori, the world's 10th-most powerful supercomputer. The simulation ran in just 14.6 minutes, using 650,000 Intel Knights Landing Xeon Phi cores to handle 1.5 petaflops (quadrillion floating-point operations per second).

386 comments

  1. Translation by TimMD909 · · Score: 5, Funny

    Is Becky's baby the cutest baby in the entire world? Becky thinks so, as Birthday 1.0 arrives.

    1. Re: Translation by Anonymous Coward · · Score: 0

      Sadly, Julia hasn't learned yet that trying to be everything for everyone and being the yes girl doesn't make her popular.

      Specialized Languages work best in their focused uses.

    2. Re: Translation by Oswald+McWeany · · Score: 1

      Apparently Julia moves quick and has been used by a lot of people in the last 6 years. I think I know Julia.

      --
      "That's the way to do it" - Punch
    3. Re: Translation by Anonymous Coward · · Score: 0

      Slashdotters still won't get lucky, though. Julia is MIT stuff, well above our parents' basements.

    4. Re: Translation by Anonymous Coward · · Score: 0

      Speak for yourself!

    5. Re:Translation by KingBenny · · Score: 1

      well, as fashion revolves around yuppies and hipsters this might be a nice time to check up on the progress of it as i skipped the last 20 cycles, including python waiting for someone to come up with the idea that it wasnt all that ... a combo that combines everything huh ? scripted language compiled to run at the speed of C ? okaayyyyy ...... so in ten years it will be "THE THING" i suppose when the fashionable in-crowd with the big words catches on ... im gonna check it out maybe it can help me somewhere lol but so far i still have a hard time finding anything at all that require more than bash (for non graphic applications that is)

      --
      Free speech was meant to be free for all... how can anyone grow up in a nanny state ?
    6. Re:Translation by sjames · · Score: 1

      It's a floor wax! NO! It's a dessert topping!

  2. Obligatory Betteridge's Law Post. by king+neckbeard · · Score: 2, Interesting

    Obligatory Betteridge's Law Post.

    --
    This is my signature. There are many like it, but this one is mine.
    1. Re:Obligatory Betteridge's Law Post. by ilsaloving · · Score: 3, Interesting

      To save people effort googling:

      https://en.wikipedia.org/wiki/...

    2. Re:Obligatory Betteridge's Law Post. by TranquilVoid · · Score: 2

      To save people the effort of opening a new tab;

      Betteridge's law of headlines is an adage that states: "Any headline that ends in a question mark can be answered by the word no."

    3. Re: Obligatory Betteridge's Law Post. by Anonymous Coward · · Score: 0

      "Does This Poster Hate the Taste of Dick?"

  3. MIT thinks its language is the best? by Anonymous Coward · · Score: 0

    What a surprise!

  4. I would like to announce my new language. by Anonymous Coward · · Score: 0

    I call it Romeo. Why Romeo you ask?

    Because it has a killer bug.

    1. Re: I would like to announce my new language. by Anonymous Coward · · Score: 0

      Have you confused 'Julia' with 'Juliet'?

    2. Re: I would like to announce my new language. by Anonymous Coward · · Score: 0

      No.

    3. Re: I would like to announce my new language. by Anonymous Coward · · Score: 0

      No one calls the story Romeo and Julia.

    4. Re: I would like to announce my new language. by mcvos · · Score: 1

      Except those handful of people in the world whose first language isn't English.

    5. Re: I would like to announce my new language. by Anonymous Coward · · Score: 0

      Really? I have a copy of Romeo and Juliet in Japanese and her name is not Julia in it.

    6. Re: I would like to announce my new language. by Anonymous Coward · · Score: 0

      The native language of story is English and the title in English is Romeo and Juliet. Nobody on an English speaking website would ever call it anything different.

    7. Re: I would like to announce my new language. by Anonymous Coward · · Score: 0

      "Really? I have a copy of Romeo and Juliet in Japanese and her name is not Julia in it."

      Yes, it's Julia-San.

    8. Re: I would like to announce my new language. by Anonymous Coward · · Score: 0

      Nope.

    9. Re: I would like to announce my new language. by Anonymous Coward · · Score: 0

      ...and what lends you to believe that this is an English speaking site?

      CAP === 'splices'

    10. Re: I would like to announce my new language. by Anonymous Coward · · Score: 0

      Even in Korean, it is "Juliet" Jul-li-et

    11. Re: I would like to announce my new language. by Anonymous Coward · · Score: 1

      nonono. its Juria.

    12. Re: I would like to announce my new language. by Anonymous Coward · · Score: 0

      And in most Slavic languages it's Zhulieta

    13. Re: I would like to announce my new language. by Anonymous Coward · · Score: 0

      ROR

    14. Re:I would like to announce my new language. by synp71 · · Score: 1

      I call it Romeo. Why Romeo you ask?

      No. I ask wherefore Romeo.

  5. Let's make something to meet everyone's use cases! by kalpol · · Score: 3, Insightful
    --
    12:50 - press return.
  6. Julia? by Anonymous Coward · · Score: 0

    Naw i'll wait for the mandelbrot language.

    1. Re:Julia? by fibonacci8 · · Score: 4, Insightful

      I z^2+c what you did there.

      --
      Inheritance is the sincerest form of nepotism.
    2. Re:Julia? by Anonymous Coward · · Score: 0

      Recurses! A real observer wouldn't say that. Your pun was purely imaginary.

    3. Re:Julia? by mark-t · · Score: 1

      No, there was definitely some subtle complexity to it.

    4. Re:Julia? by Anonymous Coward · · Score: 0

      username checks out!

    5. Re: Julia? by Anonymous Coward · · Score: 0

      Using the chaotic feature set to create chaos!

    6. Re: Julia? by jd · · Score: 1

      It's not something you can differentiate, though.

      Besides, this pun run is unstable at every point.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  7. Human Resources by Anonymous Coward · · Score: 0

    Expect to see job advertisements requiring 10 years professional and verifiable experience with Julia in the coming weeks. Bonus points if you were part of the original language specification team.

    1. Re: Human Resources by Anonymous Coward · · Score: 0

      LOL

      I've got 15 years working with this shit! LOL

    2. Re: Human Resources by jd · · Score: 2

      Address: 147 Rassilon Way, Gallifrey.

      Years of experience with Julia: 729

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  8. Great.. by Anonymous Coward · · Score: 5, Insightful

    Great... Just what we need... another language.. oh wait, that will need a new package manager.. and new frameworks.. and..
    screw it I'll just stick to C++.

    1. Re:Great.. by jellomizer · · Score: 2

      Having languages to choose from is a good thing. Saying Julia is the perfect language may be pushing it, because it may be the perfect Language for MIT, and research and education. It may not be a good language for businesses who may want more CRUD applications, and/or Heavy Database work and reporting.
      Julia seems to trying to compramise on the fight within MIT whose better. C++,Python, R and Ruby (Currently the most popular languages Outside of Java* ). They basicly took the key strengths of the different languages and combined it into one. However... Python, R and Ruby while slower then C++ are interpreded lanaguges which has its own benefit, of working better across platforms, and not needing to recompile code, and having your source magically go away from you, with the executable running for years afraid to upgrade.
       

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    2. Re:Great.. by 93+Escort+Wagon · · Score: 0

      ... because it may be the perfect Language for MIT, and research and education. ...

      OR it may be the perfect language for the person/group who created it, but not for anyone else.

      --
      #DeleteChrome
    3. Re:Great.. by Anonymous Coward · · Score: 0

      We need a language manager.
              > lingo install julia

    4. Re:Great.. by Anonymous Coward · · Score: 0

      When I was at uni we were taught this amazing language called Miranda. It was the future. It sliced, it diced, it did everything just right (*cough* except portability). Lecturer was absolutely convinced it would achieve world domination.

      Remember Miranda? Thought not.

    5. Re:Great.. by Anonymous Coward · · Score: 0

      And an AI to match the right set of languages and package managers to a formal specification. And a formal specification language package manager. And a language manager to manage the formal specification languages.

    6. Re:Great.. by Anonymous Coward · · Score: 0

      businesses who may want more CRUD

      Ah enterprise crud. It's the funniest acronym used to describe business software.

    7. Re:Great.. by willy_me · · Score: 1

      Julia is also, or can be, interpreted - you interact with it just like Python or MATLAB. But the libraries, or modules you write, only get compiled once. The compiled version is saved and future function calls make use of the compiled code. As a result, the REPL interface is a bit slow (it is using LLVM) but the compiled libraries are very fast.

      Cross-platform coding is a non-issue. Code is compiled on the machine that is running it. All code distribution via the package manager is of un-compiled code. One exception - you can precompile and generate a library to embed within a C / C++ application. The only other cross-platform issue is when libraries make direct calls to the native OS / hardware / local libraries. But this is a problem that the library developer typically solves.

      My first attempt in programming with Julia resulted in sub-optimal performance. After profiling and learning more about the language, I was able to speed things up significantly. Some MATLAB code, which consists primarily of FFTs and linear algebra, was ported and I was able to make every function perform faster. At times, significantly faster. Considering that MATLAB actually just calls the same FFT library as Julia (FFTW), it was impressive.

      So Julia is not as easy to use as Python or MATLAB but has to potential to be very fast. Programming in Julia is at first awkward but becomes excellent once you are used to it. A great language for programmers but scientists and other non-programmers might want to take the performance hit and keep using Python/MATLAB.

    8. Re:Great.. by Tough+Love · · Score: 1

      that will need a new package manager.. and new frameworks

      Compiles standard binaries, therefore uses standard packaging (apt, rpm). Natively links to C libraries. So, no on both counts.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    9. Re: Great.. by lucasnate1 · · Score: 1

      Actually, I do. It was the basis for Haskell's syntax, a language whose development is very fast, from which C++ copies many features, and which is used a bit in the industry (I had friends who got paid to use it in the industry)

    10. Re: Great.. by jd · · Score: 1

      Why new frameworks? So long as the ABI is fixed, you can link frameworks in any language to apps in any other.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    11. Re:Great.. by q_e_t · · Score: 1

      Having languages to choose from is a good thing.

      Yes, unless it dilutes support effort such that libraries are not developed or bugs fixed. It also potentially dilutes the ability to be productive over a long period of time if you need to keep learning new languages and frameworks. Sometimes languages evolve sufficiently that even a single language requires that.

    12. Re:Great.. by Anonymous Coward · · Score: 0

      seen this before, take the best parts of different things, mash it together
      and you end up with something that everyone hates equally.

    13. Re: Great.. by Anonymous Coward · · Score: 0

      Interesting - thanks for that info. I always just assumed that it was another fad language that slid into obscurity, but maybe my old lecturer had a point. Mind you even given that I still think it's an odd choice to teach in first year CS.

    14. Re:Great.. by shutdown+-p+now · · Score: 1

      It's not a new general-purpose language (well, it is, but that's not how it's positioned). It's a new language for a specific niche, which at the moment has a lot of really crappy languages in it (like R), and then some general-purpose languages that were adapted by the community (Python).

      You're welcome to stick to C++, but that just means that you're not in the niche they're targeting, so your opinion is largely irrelevant anyway.

  9. OOh shiny by Anonymous Coward · · Score: 0

    Crap, I beat myself to it (that sounded better in my head)

  10. New language ok... by JoeDuncan · · Score: 0

    ...but why did they have to make it look so damn ugly?!?

    I mean the syntax looks like the bastard child of Fortran and Perl - yuck!

    1. Re: New language ok... by jd · · Score: 1

      Could be worse. Occam-Pi is beautiful and elegant in every respect bar syntax. Same goes for Oberon 2.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  11. Take A Look At Crystal by Bruce+Perens · · Score: 4, Interesting

    There is always going to be argument about which language is the best, which Linux distribution, which web framework, and systemd.

    I have been using Crystal and the Lucky Web Framework for a large project, and it's been great. Crystal's handling of types, and the fact that you get all of the error-killing power of tight typing while you often don't have to specify the types at all because they are inferred, has make my code cleaner and easier to write, with fewer bugs and less need for testing. You write it like an interpreted language (it follows Ruby syntax, but treats typing and metaprogramming differently) and it has compiled speed (uses LLVM).

    1. Re:Take A Look At Crystal by Anonymous Coward · · Score: 0

      How about I don't and say I didn't?

    2. Re: Take A Look At Crystal by Anonymous Coward · · Score: 0

      Bruce we know you don't program. Kinda makes sense you are a web monkey.

    3. Re:Take A Look At Crystal by Anonymous Coward · · Score: 0

      There is no argument. Best language: C, best editor: vim.

    4. Re:Take A Look At Crystal by Desler · · Score: 2

      it follows Ruby syntax

      That's supposed to be a selling point?

    5. Re: Take A Look At Crystal by Anonymous Coward · · Score: 1

      Philistine.

      Best language: machine code.
      Best editor: ed.

    6. Re: Take A Look At Crystal by Bruce+Perens · · Score: 2

      Would you rather that white space had syntactic significance? I only know two programs where that's the case: make, and python. And even the author of make was clear that was a mistake. Guido is a nice guy, but he really blew that one.

    7. Re: Take A Look At Crystal by Desler · · Score: 1

      Would you rather that white space had syntactic significance?

      False dillemma. I choose neither.

    8. Re:Take A Look At Crystal by farble1670 · · Score: 4, Insightful

      I have been using Crystal [crystal-lang.org] and the Lucky Web Framework [luckyframework.org] for a large project, and it's been great. Crystal's handling of types, and the fact that you get all of the error-killing power of tight typing while you often don't have to specify the types at all because they are inferred, has make my code cleaner and easier to write, with fewer bugs and less need for testing. You write it like an interpreted language (it follows Ruby syntax, but treats typing and metaprogramming differently) and it has compiled speed (uses LLVM).

      I'm sure your employer (or contractor) is ecstatic about the fact that they'll have to pay 3x the going rate to find devs that can work on the project you've built. Well actually that's not true. They'll have to pay someone to completely re-write the project when they can't find anyone to work on it and / or the niche framework you've picked is no longer supported / evolved.

      Maybe it was a pet project though.

    9. Re: Take A Look At Crystal by Bruce+Perens · · Score: 1

      Well there is no pleasing you, is there? :-) I never liked perl, but have found the Ruby syntax to be fine. The main difference between it and other high-level languages is that things like regular expressions are first class entities within the language. Just what language is it that you're holding up as a paragon?

    10. Re: Take A Look At Crystal by Bruce+Perens · · Score: 1, Interesting

      Your viewing this from the perspective of the sort of programmer who is hired like an interchangeable cog. I'm definitely not one of those commodity guys. In this case it's not an employer, but investors. They are probably more concerned with time-to-market than anything else. Ruby-on-rails was the standard platform for web startups for a long time. Crystal is taking it's place. Node was not considered because JavaScript is just not a nice language to write in,

    11. Re: Take A Look At Crystal by farble1670 · · Score: 3, Insightful

      Your viewing this from the perspective of the sort of programmer who is hired like an interchangeable cog.

      If you are telling me that you develop in a way that isn't easily picked up by another engineer, I don't think you are the master you think.

      Software engineering is... engineering. That means it's well documented, easily understood standard practices. Part of that is choosing a language, toolchain, and development environment that is stable and well understood.

      They are probably more concerned with time-to-market than anything else.

      Probably? So you explained it to them right? They probably don't understand the implications of your choices.

    12. Re: Take A Look At Crystal by Desler · · Score: 1

      No I'm perfectly pleased with languages that don't have the horridness of Ruby's syntax or the stupid of Python's whitespace.

    13. Re: Take A Look At Crystal by Bruce+Perens · · Score: 1, Interesting

      I think I'm telling you that I'm a CTO and sometimes CEO. I could go into a long discussion about what most programmers don't know, that I can provide. Or I could simply point out that you're running my code everyday of your life, and you don't even know it.

    14. Re: Take A Look At Crystal by Anonymous Coward · · Score: 0

      Would you rather that white space had syntactic significance? ... Guido ... really blew that one.

      Despite my original misgivings (many years ago), indentation actually works very nicely in python (at least once you set your editor up). Python has warts (the GIL?), but delimiting blocks by indentation is not one of them. Quite the opposite, it quickly becomes very easy to use, while enforcing one (and only one) readable indentation style on the code. Or to put this another way, if you are writing readable, consistently indented code, as you should in almost any language, then you are already doing all that python requires to mark blocks.

      The only real issue with python indentation is easily s/\t/ /g'ed away, and as I said, once your editor is set up, can be automatically disposed of. Canonical non-issue.

    15. Re: Take A Look At Crystal by Anonymous Coward · · Score: 0

      If you are telling me that you develop ...

      Dude, get a clue, it actually is (the real) Bruce Perens that you are talking to.

    16. Re: Take A Look At Crystal by n0nsensical · · Score: 1

      He REALLY blew Python 3, which pretty much made Python unusable to end users. Since the program you're trying to run may or may not be written in Python 2 or 3, not like that's something the docs will ever mention, and its dependencies will surely be written in some completely random mix of Python 2 and 3 that makes the whole shebang impossible to execute. Speaking of execution way to kill an entire programming language Guido

    17. Re: Take A Look At Crystal by Anonymous Coward · · Score: 0

      Can you use it in Visual Studio? If not, then it's useless.

    18. Re: Take A Look At Crystal by Anonymous Coward · · Score: 0

      > Software engineering is... engineering. That means it's well documented, easily understood standard practices.

      It really isn't sounds like you maintain code already written and can't figure out how to regularize its long queue of extremely similar changes into configuration.

      If you are doing it properly, you are writing new stuff that didn't previously exist in isolation or combination.

    19. Re: Take A Look At Crystal by farble1670 · · Score: 1

      It really isn't sounds like you maintain code already written and can't figure out how to regularize its long queue of extremely similar changes into configuration.

      Heck, I can't even parse that sentence.

    20. Re: Take A Look At Crystal by spongman · · Score: 1

      Best editor: a 9 volt battery and an old incandescent bulb harvested from underneath an old microwave. Stand outside, touch the bulb to the terminals of the battery occasionally. Time it right, many times. Those light pulses will propagate out though the atmosphere, away from your side of the Earth though the depths of space toward distant black holes. A select few of those photons will orbit just over 180 degrees around their incident planes and continue on a return trajectory to where Earth will eventually be, all arriving at the same time and place with enough intensity to cause a cascade of absorption a in a single atom in the upper atmosphere causing that atom to emit a gamma ray that will continue down through the atmosphere avoiding absorption and eventually colliding with a silicon atom in the then-ancient NAND flash inside your laptop's hard drive preserved in the "museum of best editors ever."

      Repeat.

    21. Re:Take A Look At Crystal by Anonymous Coward · · Score: 0

      Large sized companies require programming tools and frameworks to be approved by the IT Steering committee and licenses validated by legal department.

      It's about total cost of ownership over the entire lifespan of the project.

      They do not want to pay lots of have difficulty finding developers for a largely forgotten largely unsupported and niche language in 3 years. It's hard enough to find a pure C++ person today, let alone one that is proficent in OpenGL 3.x (pre-metal) libraries.

      Lesson here is pick a mainstream set of development tools and libraries which will be supported for 7+ years.

    22. Re: Take A Look At Crystal by Anonymous Coward · · Score: 0

      Heck, I can't even parse that sentence.

      Luckily for you Julia makes it very easy for anyone to write task-specific natural language parsers. ;)

    23. Re: Take A Look At Crystal by quax · · Score: 1

      Given farble1670's UID he probably has no idea who you are.

    24. Re: Take A Look At Crystal by jd · · Score: 2

      Occam is also whitespace sensitive, as part of the logic for determining design bugs. I don't mind it, although it's not everyone's preference. Occam is one of the few languages in which programs are provable, so I'm careful about arguing about design defects.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    25. Re: Take A Look At Crystal by Anonymous Coward · · Score: 0

      nope, it's just fucking stupid..

      one minor error in indentation and your code is fucked, and good luck finding the out of place line..

      Any body defending this shit is just a fucking idiot..

    26. Re:Take A Look At Crystal by Anonymous Coward · · Score: 0

      Everything is great that we have success with. Everything is terrible that we don't have success with.

      That is why opinions are just that, subjective to the person providing it.

    27. Re: Take A Look At Crystal by SoftwareArtist · · Score: 1

      Whitespace is significant in lots of languages. Python is just one of the few that handles it in a logical, consistent way. Here are some examples of places where whitespace is significant in C++.

      You can't put a line break in the middle of a string literal. // comments are terminated by a line break.

      Preprocessor commands are terminated by a line break. If you want them to take multiple lines you need to end with a special continuation character. Unlikely most other parts of the language that terminate lines with semicolons and ignore line breaks.

      There are some really weird places where you have to add whitespace or it won't be parsed correctly. For example, vector >. Notice the space between then two >'s? Without that it will parse it as a >> operator and fail to compile.

      By the way, you forgot one of the classic examples of a language with significant whitespace: old style Fortran. Every line had to start with a specific number of spaces, and characters in particular columns had special meaning. That was not a good idea. Python does it well.

      --
      "I'm too busy to research this and form an educated opinion, but I do have time to tell everyone my uninformed opinion."
    28. Re: Take A Look At Crystal by Bruce+Perens · · Score: 1

      Fortran is that way because of Hollerith cards, not lines in a text file. Hollerith machines were able to sort and separate cards based on columns. All of the limitations of early Fortran, variable name length, statement number size, etc., are based on squeezing columns in Hollerith cards into 36-bit BCD.

      And yes, white space is significant as a symbol separator in lexical analysis of very many common languages. In particular the ones that allow you to go without parenthesis in function calls need white space to separate the function name and the first argument. This is a lot different from counting spaces (as in Python) or having a syntactic difference between space and tab (Make).

    29. Re: Take A Look At Crystal by spencerogden · · Score: 1

      farble, I'm impressed by Bruce's patience in not smacking you down earlier. Google and looking at UIDs are your friend before you go wading into a fight with a legend.

    30. Re:Take A Look At Crystal by shutdown+-p+now · · Score: 1

      I'm not sure what this has to do with Julia, given that it's a language specifically for scientific and numeric computing, statistics, machine learning, and similar sort of thing. It's competing with R, Python and Matlab, not with Ruby, JavaScript, and web framework of the day.

    31. Re: Take A Look At Crystal by Anonymous Coward · · Score: 0

      nope, it's just fucking stupid.

      You are wrong. It's actually an extremely useful feature once you get used to it.

      one minor error in indentation and your code is fucked,

      Exactly! Unlike that heavily indented C code the other day, where the indentation had over time become unaligned, which was pretty annoying when re-reading the code. OK, it's trivial to fix once the penny drops, but it would have been a lot nicer had the indentation of the code simply corresponded to the various blocks without any need to re-indent the code... You literally cannot get this with python code because, as you point out, "one minor error in indentation and your code is fucked." That is a GoodThing(tm).

      and good luck finding the out of place line..

      You find this difficult? Seriously?

      File "./foobilator.py", line 104
      polly = Parser(GreenState)
      ^
      IndentationError: unexpected indent
      Try going to the line number given in the first line of the error message ... how hard can that be?!

      Any body [sic] defending this shit ...

      ... probably has some experience using it. Seriously, given the actual problems with python, complaining about "uh da whitespace" is an obvious sign of ignorance and the lack of anything beyond passing experience writing in this language.

    32. Re: Take A Look At Crystal by countach · · Score: 1

      C++'s ambiguity between >> as bit shift and templates is a known defect in the language. As for newlines, I don't see that issue as significant as spaces, being whitespace. Every editor in the world knows how to look at a newline. Not so for tabs and spaces.

  12. No. by xtal · · Score: 5, Informative

    C is lightning fast and is the tool for when you know what you're doing.

    Python is .. for everything else.

    Everything else just turns into a clusterfuck over time. C and Python have somehow avoided turning into clusterfucks by being simple, while building an unstoppable freight train of reference work.

    Julia solves lots of problems in a specialized domain, but most programming is laughably mundane.

    --
    ..don't panic
    1. Re:No. by JoeDuncan · · Score: 1, Flamebait

      Everything else just turns into a clusterfuck over time.

      Exactly, try looking at ANY fully functional Julia code (not the trivial examples from docs & tutorials) - it's ALREADY a giant clusterfuck, it's unreadable gobbledygook on any kind of usable scale that isn't a trivial demo.

    2. Re:No. by Anonymous Coward · · Score: 2, Insightful

      Python is a clusterfuck. Not enough people recognize it in time.

    3. Re:No. by Anonymous Coward · · Score: 0

      When I was a student, I "brilliantly" authored some script-based languages to meet some specialized needs for my script-embedded applications.

      Then I discovered python, and strangely enough my "custom-script language" mutated towards, then finally became, embedded python.

      Funny old data point that...

    4. Re:No. by fahrbot-bot · · Score: 4, Insightful

      C is lightning fast and is the tool for when you know what you're doing.

      Python is .. for everything else.

      So Python when (a) you don't need fast and (b) you don't know what you're doing. :-)

      [ And when you don't want C, but want fast and you know what you're doing, use Perl. ]

      --
      It must have been something you assimilated. . . .
    5. Re:No. by Anonymous Coward · · Score: 0

      C is lightning fast and is the tool for when you know what you're doing.

      Python is .. for everything else.

      So Python when (a) you don't need fast and (b) you don't know what you're doing. :-)

      You jest, but that is exactly when I use Python. E.g. for roughing out a prototype to decide if the concept is worth pursuing in a more rigorous form.

    6. Re:No. by serviscope_minor · · Score: 4, Insightful

      C is lightning fast and is the tool for when you know what you're doing.

      C is a lightning fast tool for people who are obsessed with micromanaging things which can be easily automated. If yu want lightning fast performance (often faster) but don't really want to do things by hand that a computer can be easily taught how to do then there's C++.

      Everything else just turns into a clusterfuck over time. C and Python have somehow avoided turning into clusterfucks by being simple

      C moves the complexity of the language into every single project that uses it. So the language per-se might not be a cluster fuck, but it is the epicentre of a custerfuck of biblical proportions.

      --
      SJW n. One who posts facts.
    7. Re:No. by Anonymous Coward · · Score: 0

      Actually, not (A and B) is (not A) or (not B), so Python is for when you don't need fast or you don't know what you're doing. Perhaps it is for you then? ;-)

    8. Re:No. by PolygamousRanchKid+ · · Score: 1

      So Python when (a) you don't need fast and (b) you don't know what you're doing. :-)

      [ And when you don't want C, but want fast and you know what you're doing, use Perl. ]

      Actually . . . I prefer to use a language that let's others, who don't know what they are doing . . . understand what I am doing, who ends up doing it for them.

      Folks who don't know what they are doing . . . usually end up not doing anything, anyway.

      --
      Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
    9. Re:No. by SCVonSteroids · · Score: 1

      My [limited,

      Julia solves lots of problems in a specialized domain, but most programming is laughably mundane.

      This.
      Programming is a tool. There needs to be a problem to solve... I find too many coders fail to see that and get lost in how clever they're trying to be.

      --
      I tend to rant.
    10. Re:No. by radarskiy · · Score: 1

      "C is lightning fast and is the tool for when you know what you're doing."

      No one knows what they're doing.

    11. Re:No. by SCVonSteroids · · Score: 1

      Ouf... mangled.
      I can't summon the brain power to think of what I initially wrote down.

      --
      I tend to rant.
    12. Re:No. by fahrbot-bot · · Score: 1

      Actually . . . I prefer to use a language that let's others, who don't know what they are doing . . . understand what I am doing, who ends up doing it for them.

      That's largely a factor of the programmer, not the language. One can write (un)readable code in any language. For example, just because Perl allows one to write cryptic code, doesn't mean one must and doesn't mean one can't add documentation when appropriate and/or to clarify cryptic code when used.

      For example, several of my co-workers have mentioned that they can identify a piece of my code in (say) C, Java, Ksh and Perl by my style, structure, clarity and documentation and have no problems following my code. I always try to write my code so someone else can pick it up should I get "hit by a bus", no matter the language used.

      --
      It must have been something you assimilated. . . .
    13. Re:No. by fortytwoQAM · · Score: 4, Interesting

      TL; DR: There are a lot of great and nuanced features of Julia, but if you're writing off Julia without understanding the potential power of "multiple dispatch", I'd really encourage you to read up on multiple dispatch and its benefits. Also, if your programming is "laughably mundane", watch out that a machine or machine-learned model doesn't take your job. I'm surprised this got upvoted to a 5. One of the aims of Julia is to 'solve' or 'avoid' the "two-language problem". Interestingly, you just embraced the two-language problem. You can call and use C-code from Python, but that's not necessarily simple. At that point, anything that is "fast" from a computational standpoint now needs someone who's expert at both languages to provide functionality. Most Julia packages provide "fast" code, while allowing any Julia user to help and fix things by learning Julia - i.e. the "one-language satisfaction" ? Julia code is generally "fast" while being very "expressive" - i.e. an aim at trying to avoid the 2-language problem. Crystal looks very interesting and is an "LLVM-language" like Rust and Julia, but I don't see any mention of "N-Dimensional Arrays". To quote another poster, "dealing with ND Arrays with for loops is like pulling teeth". Python has NumPy, but all the good syntax was taken by the time NumPy came along (mid-2000s), so the ND Array syntax can be quite cumbersome with Python, as much as I like the NumPy/SciPy stack. I've been working almost exclusively with Julia over the past 3 months. I'm parsing large-ish (~1GB) binary files generated by arduino boards and a lot of signal analysis work. I'm absolutely loving it, but Julia has been on my radar for a few years now. A few years ago I did a bunch of the Euler challenges with Julia while trying to write as little code as possible and that was a fun exercise to see how powerful some of the syntax is.

    14. Re:No. by T.E.D. · · Score: 1

      C is lightning fast and is the tool for when you know what you're doing.

      C's good for situations where your development machine or target for some reason can't handle a smarter compiler. Its actually *too* low level for best optimization, as it forces the user to specify too much detail and provides too much unnecessary aliasing capabilities.

      It just looks blazingly fast if you only compare it to interpreted or VM-based languages.

    15. Re:No. by Anonymous Coward · · Score: 0

      Yep. In its domain, "R" (the language taught for statistics at the University of Auckland in the 1990s - seriously, that R) is exceedingly popular.

      But, in its domain, and some closely related ones.

      But nobody pretends it is a general-purpose language that should replace "C". Even if it is Turing complete.

    16. Re:No. by Anonymous Coward · · Score: 0

      The other advantage of C++ of course being that the compile errors are often longer than the program itself, and just as easy to comprehend. And, (not many languages can boast this), strong typing mixed with namespacing and templating became such an overly verbose clusterfuck they had to basically come up with a "fuck it, you decide" (auto) operator just to keep the language viable.

    17. Re:No. by Anonymous Coward · · Score: 0

      And yet C is still faster than any other language; admittedly you do actually have to know what you're doing. If you don't, you can always hobble along on higher level crutches shouting "see? I'm just as fast if not faster!" from some distance behind. Pathetic, really, but it's wicked to mock the afflicted.

    18. Re:No. by Anonymous Coward · · Score: 0

      C is lightning fast and is the tool for when you know what you're doing.

      Python is .. for everything else.

      "Everything else" includes such features as "shit that makes no logical sense", backed by such examples like:

      def foo(x=[]):
              x.append(2)
              return x

      print(foo()) = returns [2]
      print(foo()) = returns [2,2]

      Reference describes this madness in a "soft" tone, while simultaneously admitting its own idiocy:

      Default parameter values are evaluated when the function definition is executed. This means that the expression is evaluated once, when the function is defined, and that that same ``pre-computed'' value is used for each call. This is especially important to understand when a default parameter is a mutable object, such as a list or a dictionary: if the function modifies the object (e.g. by appending an item to a list), the default value is in effect modified. This is generally not what was intended. A way around this is to use None as the default, and explicitly test for it in the body of the function

    19. Re:No. by EETech1 · · Score: 1

      XOR (A , B)

    20. Re:No. by Anonymous Coward · · Score: 0

      "Use Perl" (Score 5, Insightful)

      It's not like we have to guesstimate the age of the typical the slashdot audience, but this is the equivalent of carbon dating right here.

    21. Re:No. by Anonymous Coward · · Score: 0

      It's just that perl makes it so goddamn easy. Hated the language even when there were barely other popular alternatives around. No surprise for a language with has its origins in basically being an extension for shell scripting. Thank god for python which makes reading other people's code not want to stab you in the eye with a fork.

    22. Re:No. by Anonymous Coward · · Score: 0

      I work in C and python, and I've seen a lot of clusterfucks. I have no idea why you think idiots can clusterfuck in any language they want. They can, and they do.

      Now, I totally agree that you can make a much better cluster fuck in C++ or Java, but it's not hard to do in any language if you don't know how to organize your thoughts and your code.

    23. Re:No. by Anonymous Coward · · Score: 0

      All we need is an AI that can convert all current languages into Brainfuck.NET - then the runtime becomes trivial and we can throw away most of the OS.

    24. Re: No. by n0nsensical · · Score: 1

      Not sure what universe you're living in where Python is not a cluster fuck but it's definitely not an end user's

    25. Re:No. by Raenex · · Score: 1

      [ And when you don't want C, but want fast and you know what you're doing, use Perl. ]

      Uh, what? Perl is a slow, dynamic language. If you want fastish, use Java.

    26. Re:No. by Anonymous Coward · · Score: 0

      Me Thinks you don't understand what TL;DR means

    27. Re:No. by Anonymous Coward · · Score: 0

      C moves the complexity of the language into every single project that uses it. So the language per-se might not be a cluster fuck, but it is the epicentre of a custerfuck of biblical proportions.

      Ever tried modifying old C projects?
      I wanted to adjust a few thing in the old Doom source.
      At first glance it is a complete clusterfuck with parameters passed in global variables instead of being passed in parameters and such.

      It turned out that it was very easy to get a hang of what the code was doing and where to make modifications.

      Turns out that you can abuse every wise word there is about programming and still write easy to read and manageable code.
      It taught me a lot of how much cargo culting there is in CS.

    28. Re:No. by Anonymous Coward · · Score: 0

      TL; DR.

    29. Re:No. by Anonymous Coward · · Score: 0

      C is to C++ as lung is to lung cancer

    30. Re:No. by Anonymous Coward · · Score: 0

      I thought it was Perl for when you didn't want others to know what you are doing, or did.

    31. Re:No. by Anonymous Coward · · Score: 0

      You can call and use C-code from Python, but that's not necessarily simple

      It is if you use modules that others have written (assuming they are decent modules)./p?

    32. Re:No. by Anonymous Coward · · Score: 0

      Or Cython for the best of both worlds! :)

    33. Re:No. by shutdown+-p+now · · Score: 1

      Python is for when you value your development time more than execution time later (e.g. because the latter is going to be so small as to be irrelevant with either tool).

      That covers surprisingly much - including 90% of what's traditionally written in C, especially on Unix.

    34. Re:No. by Anonymous Coward · · Score: 0

      Everything else" includes such features as "shit that makes no logical sense", backed by such examples like

      With each call to foo(), you are appending 2 to a mutable container created by the def statement. At definition it contains an empty list, after your first call (without argument) the list has one 2 in it, after your second call it has a second 2 ... It makes perfect logical sense once you understand the simple principle that the default value for an argument is instantiated with the def call.

      Perhaps after more than a decade and a half of using python, I've simply internalised this, but I wonder, knowing the underlying principle, what behaviour would you expect? (Notwithstanding what someone unfamiliar with that principle might "generally ... intend[]")

      A trap for young players perhaps, but such problems as arise are not the result of the "madness" or "idiocy" of the language, but of ignorance (easily cured) of how and when default values are instantiated, as well as grasping the notion of mutability in python (an immensely important notion to grasp). Knowing what you know, means you personally would not make this mistake anymore, surely?

      [BTW, your reference is for py2.0 and is badly out of date apropos the way scope is handled (ie, in Programmer's note), cf https://docs.python.org/2.7/re... ]

    35. Re:No. by countach · · Score: 1

      In terms of tight math loops, you're right C is hard to optimise. However if you want to write an OS kernel, what else are you going to use? Those details you specify in C suddenly seem necessary to keep tight control. We don't for example want our OS kernel doing garbage collection. Or at least I don't think we do.

    36. Re:No. by T.E.D. · · Score: 1

      That's an odd comment. Very few native compiled system's programming languages include garbage collectors. Those are features of higher-level languages like Scheme, or VM languages like Java. Again, this comment, like the one I was responding to, seems to have originated out of ignorance of the other options.

      For example: Both Ada and Modula-2 give system software developers the ability to specify to the bit how records are laid out. Given that this is pretty much required for low-level protocol-based communications (particularly with memory-mapped hardware), and that's supposedly C's niche, you'd think C would have this ability too, right? It doesn't. You have to either use pointer tricks or just bash on a struct until it does what you want, and pray no future compiler version scrambles the layout.

      C's main advantages as a system programming language has always been the ease of creating the compilers, and its installed base. The language itself kind of sucks.

    37. Re:No. by T.E.D. · · Score: 1

      And yet C is still faster than any other language

      That is just not true in any sense.

      In the literal sense, languages are not physical things that can themselves have speeds. It only makes sense to talk about the code generated by specific compilers, and that depends on a lot of factors, language design only being one.

      In the practical sense, Fortran compiler vendors care far more about optimization because of their target audience, their language is not hampered by C's aliasing issues, and most research into compiler optimization was done using Fortran compilers. I'm not a fan of the language myself, but its simply a fact that the code generated by it for the same purpose on the same platform with all helpful optimization options turned on will almost always be either as fast or faster than the C equivalent. There are several other languages (eg: Ada and a lot of the Wirth languages) that would be in this boat too if they had Fortran's first and third advantages.

      C only looks "fast" if you compare its code to that produced by completely different types of languages. Compare rabbits to rabbits, and it doesn't do so well.

    38. Re:No. by jafac · · Score: 1

      I always try to write my code so someone else can pick it up should I get "hit by a bus", no matter the language used.

      That's actually the whole point of computer languages, per se.

      It is so that developers can talk to other developers; and communicate what they've told the computer to do.

      If our needs were ONLY to tell the computer what to do, then we'd all be programming in assembly.

      --

      These are my friends, See how they glisten. See this one shine, how he smiles in the light.
    39. Re: No. by Anonymous Coward · · Score: 0

      I can say I also successfully modified Doom code, the demo loading part, without any knowledge of C. I was a Delphi prigrammer then. Doom code is fantastic, the game is too. :)

  13. To quote Julia (Child)... by The+Original+CDR · · Score: 3, Funny

    Quote: "These damn things are as hot as a stiff cock!"

    1. Re:To quote Julia (Child)... by Anonymous Coward · · Score: 0

      Fuck me!

  14. Full unicode variable names are a mistake by presidenteloco · · Score: 2

    I can see perhaps adding some greek symbols to ascii for variable names, function names, but allowing full unicode is a disaster of a design decision since it permits all kinds of deliberately obscured code.

    Languages need to be about well-chosen constraints to guide creativity, not about absolute freedom. Libertarian languages are a bad idea, since code is maintained and extended collectively.

    Unicode for string data, yes, of course. But entity names in the language, no, no, no.

    --

    Where are we going and why are we in a handbasket?
    1. Re:Full unicode variable names are a mistake by fibonacci8 · · Score: 1

      In other languages you could define main(), maiN(), maIn(), maIN(), mAin(), mAiN(), mAIn(), mAIN(), Main(), MaiN(), MaIn(), MaIN(), MAin(), MAiN(), MAIn(), and MAIN(). It's probably a bad idea to do so. Whether you choose to or not isn't the responsibility of the language.

      --
      Inheritance is the sincerest form of nepotism.
    2. Re:Full unicode variable names are a mistake by Narcocide · · Score: 1

      You're essentially right but you deserve to be modded down for trying to make it political. Don't bother denying it, "Presidente."

    3. Re:Full unicode variable names are a mistake by dfghjk · · Score: 1

      But these are a consequence of allowing mixed case identifiers, something you WANT to do. The other is a consequence of something you don't want to do. A feature or capability without redeeming qualities shouldn't be done simply because it can be. Doing the right thing isn't about whose responsibility it is.

    4. Re: Full unicode variable names are a mistake by Anonymous Coward · · Score: 0

      You don't want emotes as variables ? ðYðYðYðY±ðYðY'ðY'

      Just think of the possibilities !
      ðY¦ðYðYZ¥ðY'½

    5. Re:Full unicode variable names are a mistake by Anonymous Coward · · Score: 0

      If people want to obscure code, not having unicode variable/function names isn't going to stop them.

      Consider for a second programmers who do not use the Latin alphabet for their native language. Why shouldn't they be able to name their variables whatever they want in their own language.
      Especially if the only other people going to be working with said code are also speakers of that language.

    6. Re:Full unicode variable names are a mistake by mark-t · · Score: 1

      I think that person that needs unicode in their identifiers to obfuscate their code lacks imagination

    7. Re:Full unicode variable names are a mistake by fibonacci8 · · Score: 1

      But these are a consequence of allowing mixed case identifiers, something you WANT to do.

      True

      The other is a consequence of something you don't want to do.

      False, it's a consequence of something you seem to think someone else could use wrongly. Other people already have useful cases in mind.

      A feature or capability without redeeming qualities shouldn't be done simply because it can be.

      True, and the fact that someone else can think of redeeming qualities, but that you cannot, is a personal issue. Still not a fault of the language.

      Doing the right thing isn't about whose responsibility it is.

      True, but not an argument against allowing something optional.

      --
      Inheritance is the sincerest form of nepotism.
    8. Re:Full unicode variable names are a mistake by serviscope_minor · · Score: 2

      I can see perhaps adding some greek symbols to ascii for variable names, function names, but allowing full unicode is a disaster of a design decision since it permits all kinds of deliberately obscured code.

      do they allow full unicode. C++ allows unicode[*], but it specifies which character ranges within unicode can form part of an identifier. So you can have a poop emoji as an identifier, but not a thin space.

      [*] which is to say it doesn't and does sort of, in the most C++ish way possible. C++ is defined in terms of a character set and it specifies which ranges in that character set. the character set is not specified, but the ranges look suspiciously identical to unicode ranges. How the compiler goes from the source encoding to the language encoding is implemention defined (outside of plain ascii, and \uXXXXXXXX to get higher range characters). So clang supports poop emoji as an identifier which is conforming and GCC doesn't which is conforming too.

      --
      SJW n. One who posts facts.
    9. Re:Full unicode variable names are a mistake by Anonymous Coward · · Score: 0

      Good support for more-than-ascii characters is a godsend to people whose first language uses more/other letters.

      Imagine having to write your code with access to only letters abslmezwcyft for variable names. Sure, it is technically no limitation, you can definitely create an infinitely range of variable names. Some of the variable name would even be real words. But not being able to say what you mean, or being forced to mangle your language, is painful.

      fywstmame = "Mark"
      lastmame = "Spencer"

      The mess that is codepages/the gazillion different 8-bit encodings is clearly not the right solution to this problem.

      Being restricted to ascii has hardly stopped people from writing deliberately obfuscated code. But restricting the available characters too strongly *forces* inexperienced programmera to obfuscate, which makes the coding much harder than results in poor-quality code.

    10. Re:Full unicode variable names are a mistake by Anonymous Coward · · Score: 0

      Or they could lack english knowledge. You see, Microsoft integrated Chinese translation into their IDE for comments, why would that be

    11. Re:Full unicode variable names are a mistake by Zmobie · · Score: 1

      Yes and no. Within an organization those problems can be solved with a style guide that is enforced properly. Now, in the open source community and development at large you have a solid point though. Still, I would argue some of it could be curved with generally accepted guidelines just like how camel case is the norm for lots of function/method naming, hungarian notation is still heavily used in dynamic type languages, and almost universally it seems everyone uses caps for constants. These are things that carry across languages and organizations (other than the first year programmers that still name everything x, y, and boobs because its funny to them or they're lazy...) and could probably be applied here as well.

    12. Re:Full unicode variable names are a mistake by Anonymous Coward · · Score: 0

      Libertarian languages are a bad idea, since code is maintained and extended collectively.

      But how else are you going to program blockchain/mining applications? With a socialist programming language? I don't think so!

    13. Re:Full unicode variable names are a mistake by Zorpheus · · Score: 1

      I don't see any advantage in case-sensitive identifiers. I started without it, in Pascal, and it is just more natural and avoids lots of trouble. You can just use identifiers like spoken words, not worrying which word in it starts with a capital or not. To distinguish types from variables just add a t in front.

    14. Re:Full unicode variable names are a mistake by presidenteloco · · Score: 0

      For a given programming language, any convention (such as camel case for variables and methods, and uppercase with _ for constants) that has become an overwhelmingly consensus-accepted best practice in the language, should be enforced by the (next major version of the) language.

      --

      Where are we going and why are we in a handbasket?
    15. Re:Full unicode variable names are a mistake by presidenteloco · · Score: 1

      Cryptocurrency is going to be the implementation mechanism for global universal-basic-income, once the AIs and robots take most of the jobs.

      Welcome to non-labor-based neosocialism.

      --

      Where are we going and why are we in a handbasket?
    16. Re:Full unicode variable names are a mistake by Anonymous Coward · · Score: 0

      You'll get used to the code. All I see is the woman in the red dress, and the Chinese variable names.

    17. Re:Full unicode variable names are a mistake by Anonymous Coward · · Score: 0

      b-but emoji support. and how come a language specification has support for unicode characters while slashot still doesn't?

    18. Re:Full unicode variable names are a mistake by pond0123 · · Score: 1

      Full Unicode support is vital. It permits people who don't speak the same language as you, to programme in the language natural to them. Not all code is, or should be, in English.

      Yes, some idiot might code emoji into method names because they think it's fun, use Klingon Just Because, or whatever. If they're coding professionally, that's what peer review is for. If they're coding personally, then why not, if that's what they want to do?

    19. Re:Full unicode variable names are a mistake by Rockoon · · Score: 1

      I disagree that a type wart like adding a "t" is the "solution" to the lack of case being usable to distinguish between types and variables. Just name shit clearly. The classic OO examples of "Employee" and "Customer" arent good names for types. Those should be "EmployeeData" and "CustomerData" or similar. OO examples are written by assholes abusing case sensitivity which is the opposite of naming things clearly.

      I believe that at least low and mid-level level language should of course have case sensitivity, or more specifically I believe that the symbols in object and library files, as managed by linkers, should be case sensitive.

      But somewhere between assembly language and scripting the case sensitivity should be lost at the language level (by the compiler/interpreter auto-casing symbols to a uniform case standard, maybe with a language feature to override this behavior on a per-symbol basis.) It probably should be done by all languages that are name-mangling anyways (yes that included C, a high level language) but never when a symbol is marked as dont-mangle.

      --
      "His name was James Damore."
    20. Re: Full unicode variable names are a mistake by Anonymous Coward · · Score: 0

      ðYðYðYðY±ðYðY'ðY'

      That's a brunette, right there.

    21. Re:Full unicode variable names are a mistake by Dog-Cow · · Score: 1

      Why are you a bigot?

    22. Re:Full unicode variable names are a mistake by Anonymous Coward · · Score: 0

      Libertarian languages

      Liberal languages.

      Libertarian is a word invented as a workaround to the situation in US politics where liberal has come to mean socialist.
      In all other countries politics and all other cases liberal still retains its original meaning.

      When talking about programming languages liberal is the correct word to use.

    23. Re:Full unicode variable names are a mistake by Zmobie · · Score: 1

      I can see why you would come to that conclusion, but it would be a rather draconian practice that would likely just frustrate people. No real need to include string pattern validation in a compiler either or something similar, that really isn't the purpose of it. Seems if one wanted that type of enforcement it is better fit in an addon for your IDE of choice ala Resharper for VS. That way it allows for freedom of the organization to follow that and enforce strictly or if they have a need/desire to come up with their own. In my experience, even open projects enforce some type of style requirements for any new commits.

    24. Re:Full unicode variable names are a mistake by countach · · Score: 1

      If you're going to deliberately obscure your code, then there is no hope for you anyway. I can see lots of specialist applications where allowing unicode could really help readability. Would I advocate using it? Probably not. But I think it should be allowed.

  15. the usability of Python by DarkOx · · Score: 1

    So complete dumpster fire then - got it

    --
    Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
  16. The next language will be called "Popplar" by mykepredko · · Score: 1, Troll

    Because almost all the other names have been taken: https://en.wikipedia.org/wiki/...

    After that, all we have left is "Zittzers".

    If you don't get the reference, you don't belong here.

    1. Re:The next language will be called "Popplar" by fibonacci8 · · Score: 1
      --
      Inheritance is the sincerest form of nepotism.
  17. Disappointed by Anonymous Coward · · Score: 0

    R feels like a poorly designed (but very useful) language.
    Julia seems like it could replace R in certain situations.

    I was happier with Julia as a high performance computing language.
    This one size fits all approach doesn't impress me.
    I feel like Julia is better off doing one thing right rather than being a jack of all trades.

  18. A good Matlab replacement, not the next big thing. by jma05 · · Score: 5, Insightful

    If MIT had been having its way, we'd all be using Scheme.

    Julia is a better Octave (open source Matlab replacement) - good for computer scientists, but software engineers will not be interested. Question is, will the scientific community create enough definitive libraries to provide alternatives for Matlab toolboxes. Not enough seem to have attended the Octave party.

    Also, computer scientists don't define popular adoption of programming languages. Else, we'd be using Haskell/Scheme by now.

  19. Okay. Let's do this ... by fahrbot-bot · · Score: 4, Funny

    ... for developers "who want it all" ...

    I want: local/global "goto" operations; unchecked pointers and arrays; brace *and* white-space (for you Python freaks) block delineation; weird operators like "+-+", "=!=", "-+/*" and "..."; support for casting on the *left* side of the assignment (ya, I did that on 4.3 BSD w/K&R C); random requirements for some variable to be in UPPER case and/or start with specific letters (for you FORTRAN fans) ...

    Feel free to add to this; I'll be back after I get a fourth cup of coffee.

    --
    It must have been something you assimilated. . . .
    1. Re:Okay. Let's do this ... by Anonymous Coward · · Score: 0

      My personal favourite ... "arrays of pointers to pointers to printf() like functions".

      Yes, it's real, yes, I've used it ... no, I no longer have the ability to explain the mechanics of how/why to use it.

      C has such lovely arcane features, and I cut my teeth doing bare-metal programming with it. Good times indeed.

    2. Re:Okay. Let's do this ... by Anonymous Coward · · Score: 0

      I can't find DB2 drivers for Julia.

    3. Re:Okay. Let's do this ... by dargaud · · Score: 1

      weird operators like "+-+", "=!=", "-+/*" and "..."

      Just out of curiosity, what should those operators do ? Do they exist in some languages ?

      --
      Non-Linux Penguins ?
    4. Re:Okay. Let's do this ... by Kjella · · Score: 2

      Well "..." is the spread operator in Javascript, here's =!=, it seems plausible that "+-+" might be interpreted as x+(-(+y)) which collapses to "x-y". Not sure about -+/* but Ruby should get a honorable mention for %/%. The most annoying thing about operators though is not each one, it's the precedence rules. For example in SQL "WHERE a OR b AND c = 1" when you mean "WHERE (a OR b) AND c = 1. I really, really wish some smart language would say "fuck that, we're not making obscure rules nobody remembers/notices are invoked" and just throws a syntax error, here's ambiguity so resolve it explicitly with parentheses. That would be the sane solution for all future maintenance. Also I'd like to ban the singular "=" operator, use "==" for comparison and ":=" for assignment, you can keep the mixed ones like "+=".

      --
      Live today, because you never know what tomorrow brings
    5. Re:Okay. Let's do this ... by Tailhook · · Score: 1

      C has such lovely arcane features, and I cut my teeth doing bare-metal programming with it. Good times indeed.

      If you haven't shipped at least of few thousand lines of production C you don't know what the fuck you're doing.

      Not that writing that little C makes you a Torvalds or Wietse Venema, but at least you are demystified on a number or essential things for which the average "masters degree" graduate that hasn't seen anything the preceded Java and Javascript are entirely unqualified.

      --
      Maw! Fire up the karma burner!
    6. Re:Okay. Let's do this ... by Tough+Love · · Score: 1

      I want: local/global "goto" operations...

      Right. The language designers are clearly aware of this issue, they have created a library macro that kind-of does goto. But it is lame, I tried it. It is ugly with weird limitations. Obviously, the macro just tries to translate the goto into an equivalent using the existing structures, and that fails in many common cases. Plus @goto just plain looks ugly. This half measure is not enough. Doing the job properly is not rocket science.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    7. Re:Okay. Let's do this ... by fahrbot-bot · · Score: 1

      It is ugly with weird limitations.

      Ya, I want that too - especially if the limitations are undocumented and inconsistent. After all, it's language for developers "who want it all" ... :-)

      [ Frelling MIT wonks - think they know stuff. ]

      --
      It must have been something you assimilated. . . .
    8. Re:Okay. Let's do this ... by gTsiros · · Score: 1

      what you want is a macro assembler

      or FORTH/sysRPL

      --
      Looking for people to chat about multicopters, coding, music. skype: gtsiros
    9. Re:Okay. Let's do this ... by gTsiros · · Score: 1

      RPL/sysRPL do not use "operators" nor have any concept of 'precedence'. It is all evaluated in postfix notation

      if you really want infix or prefix operators though, you can define your own. Even at runtime.

      --
      Looking for people to chat about multicopters, coding, music. skype: gtsiros
    10. Re:Okay. Let's do this ... by Anonymous Coward · · Score: 0

      If you want to have pointers, and function pointers, then you unavoidably get the option to define "arrays of pointers to pointers to printf() like functions".

      I mean *maybe* you could side-step it with a bunch of arbitrary restrictions on what combinations of pointers you can and can't use but really, why would you want that?

    11. Re:Okay. Let's do this ... by Anonymous Coward · · Score: 0

      If you haven't shipped at least of few thousand lines of production C you don't know what the fuck you're doing.

      Well, as the person you're replying to, I assure you, I've shipped many thousands of lines of production C code.

      I've maintained legacy code bases in C with a few hundred thousand lines of code, I've written new projects in C, and in university I actually had the pleasure of writing an interrupt-level hard-disk controller on DOS, and implemented the UNIX file commands using it on top of a FAT filesystem using that -- I'm talking pushing bytes into registers of a Winchester drive controller and responding to the resultant interrupts to do cylinder seeks and read/write operations. I also got to do memory management, and in my operating systems class I wrote a micro-kernel OS by coding against the bare metal CPU, and it had pre-emptive multi-tasking before Windows did (in fact, this was before I knew about Linux in about '92 or so). I've fixed memory leaks from pointers, and made code re-entrant which didn't use to be.

      Basically, I had a couple of really awesome professors in university and got to do really cool things in C because that's what they were doing, and when I graduated my time with Linux and C got me a job as a professional developer and part-time UNIX admin.

      I don't claim to be the world's best programmer, not by a long shot, but I sure as hell have a lot of C-coding under my belt; much of it literally directly against hardware to begin with, and then subsequently in other domains.

      Admittedly, I've not touched C in some years, but back in the day I got to do some really fun things. I've literally forgotten more about C than many people ever learned, and I've coded against the bare metal for numerous things.

      As much as I appreciate the convenience and productivity of higher-level languages, having been forced to do all of this stuff at exceedingly low levels has given me a lot of understanding of what it really happening under the covers.

      Sometimes it is disappointing to see people who have only ever worked in high-level languages where they have a library for everything, and safety padding to be sure they don't hurt themselves. Because below a certain level, the rest becomes magic to them and they don't really have a sense of what is happening.

      And, yes, I've known people with Master's degrees who really couldn't code that well. They had lofty ideas, which led to them writing absolutely shitty code they couldn't maintain. And having to teach one of them to use makefiles, or commit code to CVS was just icing on the cake for why I never wanted to get one.

      But the reality is, I literally owe my entire professional career to what I learned coding in C and running Linux machines starting in around '93.

    12. Re:Okay. Let's do this ... by ooo00ooo · · Score: 1

      You need to write some one liner program in APL. :0P

  20. stopped reading at "ease of use of.. R" by Anonymous Coward · · Score: 0

    seriously?

    no, seriously-seriously?

    1. Re:stopped reading at "ease of use of.. R" by jma05 · · Score: 1

      Software engineers hate R.
      Statisticians love R and find it very easy to learn and use.

      Different target audience.

    2. Re:stopped reading at "ease of use of.. R" by Anonymous Coward · · Score: 0

      Bleargh, R is a mess. Maybe it makes sense to anyone with a background in S.

      R is very powerful and useful for data analysis, there's no denying that, but I find the basic language really chaotic and counterintuitive. I have a background in C(plain and C++), Fortran, Python: in all three of those you can often guess the correct way do something based on other, similar tasks. But R feels like a frankenstein's monster of a language, patched together from unrelated bits and pieces, each with its own conventions.

      If your task is "1. read data from a preformatted data file 2. feed the data as-is directly to an one-stop analysis package", sure, R makes that easy. Maybe even with step "3. write results directly into a file", but anything else is a kludge.

  21. Why? by OneHundredAndTen · · Score: 1

    What does this language accomplish that none of the other thousands of languages in existence do not?

    1. Re:Why? by angel'o'sphere · · Score: 0

      To lazy to read the web page?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    2. Re:Why? by jma05 · · Score: 2

      It is the only array programming language with a decent JIT.
      It is a high-level array programming language like Matlab/Octave/R, while executing at about the speed of a native language like Fortran.
      If you prototype a lot of linear algebra functions in an interactive environment, this is the language for you. The thunder is somewhat stolen by newer tools like tensorflow, which give you GPU performance, while still providing a high-level language (Python).
      Still, Julia has meta-programming features. So it can deliver compact, high-performance mathematical code.

    3. Re: Why? by Anonymous Coward · · Score: 0

      That might not be a completely independent opinion.

    4. Re:Why? by Tough+Love · · Score: 1

      Native C interface is a huge feature, this gives immediate access to a huge number of libraries. It mystifies me why so many language projects drop the ball on this one (most definitely including Java, if you don't agree then you just don't know JNI)

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    5. Re:Why? by Billly+Gates · · Score: 1

      Easy you take a gamble and learn and add it to your resume. IN 2 years you make +150K a year even if you're a jr level developer

    6. Re:Why? by Anonymous Coward · · Score: 0

      It is a high-level array programming language like Matlab/Octave/R, while executing at about the speed of a native language like Fortran.

      Given the arrays you are likely referring to are (at least in MatLab's case) matrices, all of R, MatLab and Python will rapidly descend to Intel's MKL for matrix calculations in which case you don't really gain much in that regard.

  22. Four cups of coffee by maroberts · · Score: 3, Funny

    ..are you having a day off?

    --

    Donte Alistair Anderson Roberts - hi son!
    Karma: Chameleon

    1. Re:Four cups of coffee by Anonymous Coward · · Score: 0

      Compiling!

  23. Packages, build, editors by ljw1004 · · Score: 1

    My impression is that for every language other than C/C++, there are three things more important than almost any feature of the language or runtime:

    (1) the package system - how you search+download+reference them, how dependencies+conflicts are managed, how updates are managed
    (2) the build system
    (3) editor integration, be it Emacs or Sublime or VSCode

  24. Re: Never gonna happen ... by Anonymous Coward · · Score: 0

    Hey! Don't gender the dead.

    You'll hurt their feelings

  25. CUNT by Anonymous Coward · · Score: 0, Funny

    How about a language called CUNT. It's not anyone's name. So it's not sexist.

  26. Comment removed by account_deleted · · Score: 1, Informative

    Comment removed based on user account deletion

  27. Re: Never gonna happen ... by Anonymous Coward · · Score: 0

    We like Ada Lovelace !

  28. Convolution Evolution by Tablizer · · Score: 1

    Python is [also] a clusterfuck. Not enough people recognize it in time.

    Almost all programming languages that end up in common use become messy as features and adjustments based on practical experience and industry changes are added over time. The originators cannot anticipate all future needs and trends/fads*.

    C# used to be relatively simple because it applied to hard lessons of Java, but has grown screwier over time to keep up with the Jones' (along with Java).

    Just try to do reflection on nullable C# types, for example. It's a WTF moment. When you investigate why it's that way, you learn that nullable types are an ugly hack on top of the existing dynamic type sub-engine. (Reflecting on nullable types is a common need when you want to automate class/schema mapping between layers, per DRY.)

    * Some fad-driven features are just plain stupid. Some fads should be ignored, and language builders often lack the discipline to wait out fad storms.

    1. Re:Convolution Evolution by Anonymous Coward · · Score: 0

      I have no ideal what you're talking about, man, all I
      want to do is print a string. Why do I care about the
      type sub-engine, and if it's a nullable C# type - sounds
      too much like a religion to me...

      CAP === 'barrage'

    2. Re:Convolution Evolution by phantomfive · · Score: 1

      when you want to automate class/schema mapping between layers

      I honestly don't even know what this means. All I have is some vague idea. Do you have a practical example?

      --
      "First they came for the slanderers and i said nothing."
    3. Re:Convolution Evolution by pak9rabid · · Score: 1

      I imagine they're referring to features typically provided by ORM frameworks, in that it'll map classes to each of your database tables (see: ActiveRecord, Hibernate, etc)

    4. Re:Convolution Evolution by Zmobie · · Score: 1

      While I definitely agree the fad driven additions cause a lot of headaches in languages, playing devil's advocate, some of the features are added because of a growing need from the user base and no one wants to rewrite their codebase just because a whole new language was designed for one feature (even a big feature). I mean, C++ was basically just C with class support tacked on originally so that code would easily port into it, and look how popular C++ remains.

      To borrow your example, C# has had some very meaningful additions, though I admit they drive me crazy sometimes (.NET 4.5 with async processing is super useful but fucking crazy to try and implement in certain ways, especially if you need any real thread-safety...). I definitely will give you nullable types in general get really annoying though with just the compiler, much less doing run time reflection binding.

      More on topic, I'm not sure where this Julia language will fit in yet (probably a niche one or at best popular in academia) given it doesn't sound too heavily focused on taking into account the business heavy languages and needs (C++ is included at least). In fairness I am not familiar with it though. TFA does bring up some interesting business use cases for heavy computing requirements, but it may depend on how well it can integrate into existing systems with different language bases. Doesn't really sound like it is designed for as much UI/UX work and potentially may have some draw backs in other necessary areas. Plus, as others have pointed out, I can see it really suffering from a jack-of-all-trades syndrome and being ok or good at a lot but not enough for people to want to adopt.

    5. Re:Convolution Evolution by nmb3000 · · Score: 2

      Just try to do reflection on nullable C# types, for example. It's a WTF moment. When you investigate why it's that way, you learn that nullable types are an ugly hack on top of the existing dynamic type sub-engine.

      In what way? Aside from some magic around implicit type conversion, Nullable types were added to the language through the Nullable<T> generic struct and some new language syntax to support the int? syntactic sugar (instead of Nullable<int>). Detecting and reflecting on a nullable type is just a matter of using Nullable.GetUnderlyingType(Type), or if you want to do it the long way you can always use the IsGenericType, IsValueType, GetGenericTypeDefinition(), and GenericTypeArguments on the Type of the thing you're looking at.

      There's nothing dynamic about nullable types in C#.

      --
      "What do you despise? By this are you truly known." --Princess Irulan, Manual of Muad'Dib
      /)
    6. Re:Convolution Evolution by Tablizer · · Score: 1

      I'm not sure where this Julia language will fit in yet

      Yip, it's probably impossible to be all things to all people. For example, computing infrastructure and systems programming (such as making an OS) typically needs to emphasize different things than application programming.

    7. Re:Convolution Evolution by Rockoon · · Score: 1

      Unlike C's transition to the new C++, the Python guys decided fuck compatibility and fuck our once loyal users that are now complaining about us breaking their existing code. They could have done a python enhancement without shitting on their old users, with a second enhanced language the same way C++ was a second language, but they didnt.

      I've been following Julia for over a year. Looks like a good language for those whose goal is to calculate, where programming is just a means to that end. Scientists and Statisticians. Due to the dynamic typing it is not a language suited for application development, but thats true for literally all dynamically typed languages. The niche of this side-language (as well as others) is that it is a step or two above calculating with a spread sheet that can be used without the user needing to be "well trained" in monolithic application frameworks (C#/JAVA/...), quirky language dialects and syntax (PYTHON/LISP/...), complicated architecture paradigms like pointers (C/C++/..), or proprietary bullshit (CUDA)

      --
      "His name was James Damore."
    8. Re:Convolution Evolution by Anonymous Coward · · Score: 0

      Unlike C's transition to the new C++, the Python guys decided fuck compatibility and fuck our once loyal users that are now complaining about us breaking their existing code.

      And yet my C compiler isn't compatible with perl code! Outrage!

      I've encountered no backward compatibility issues with anything written since python 1.5 ... python 2.7 handles anything old I've thrown at it just fine. I've deliberately steered clear of the python3 language for anything other than personal projects ... the idea of translating production code into a separate language (with a separate development roadmap) makes little sense. But I'm reading this talking point here so often today, is this an OS thing? All my python programs start with #!/usr/bin/env python, whereas python3 stuff starts with #!/usr/bin/env python3, how do the compatibility issues arise?! I mean do other installations treat them as the same language?

      When python3 first came out, what were we up to py2.4 or py2.5? Python3 was always intended as a new non-backwardly compatible language which addressed the "we-shoulda" regrets of the original developers. That's why the python(2) branch was kept in active development for years ... in order not to fuck loyal users (although I wonder if leaving it at 2.5, which was a fine language just as it was, wouldn't have been the better idea).

      No one is forcing you to use the latest version of a language, nor the latest features, much less a derivative language. I wouldn't write in Perl6 either, we still write our perl stuff in 5.x.x ...

    9. Re:Convolution Evolution by Anonymous Coward · · Score: 0

      I mean, C++ was basically just C with class support tacked on originally so that code would easily port into it, and look how popular C++ remains.

      C++ itself has moved far away from that original setup, but for me personally that would be the best available programming language. I actually worked with CFront before there were any C++ compilers, and today if I code in C++ it is basically C w Classes. C++ feels too big to me, for example the templating capability I find overkill. I like the idea of generic data types to avoid duplicate coding, but templates in C++ are a programming language unto themselves.

      So an enhanced C with a basic generic capability, RAII support. and maybe name spacing and function overloading if the generic capability can't handle that part and maybe value capturing lambdas or inner functions, though I never really missed having that in C, and maybe an actual string type (something more like Pascal strings) that was UTF-8 based and I think that would give me all I would need.

      Over the years I've found myself moving away from hierarchical object orientation to more of a composition model even when coding in Java, so simply working with structures and not needing classes has been enough.

    10. Re:Convolution Evolution by Zmobie · · Score: 1

      I can agree that I don't understand the python2 to python3 transition decisions. If they were going to break the backwards compatibility of a language then it should probably be a different language altogether.

    11. Re:Convolution Evolution by Anonymous Coward · · Score: 0

      Or maybe they could have made the Python 3 interpreter to also support Python 2 - just add a version declaration at the top of your file and you're done.

    12. Re:Convolution Evolution by Anonymous Coward · · Score: 0

      I can agree that I don't understand the python2 to python3 transition decisions.

      From py1.6 on, backwards compatibility had strenuously been maintained (and still is on the python2.x branch). That was a great thing, but at the same time the language devs felt it stopped them addressing issues in the language which, with hindsight, should have been done differently from the word 'go.' Python3 deliberately broke the long established tradition of strong backward compatibility in order to allow a new better python to be created. For backward compatibility the python2.x was to be maintained and actively developed: when python3.0 was released python2.5 was the new version of the original language, it's now at python2.7

      If they were going to break the backwards compatibility of a language then it should probably be a different language altogether.

      That is exactly what they did.

  29. Re:A good Matlab replacement, not the next big thi by Anonymous Coward · · Score: 0

    We've already got a better Octave - it's called python, with numpy/scipy packages.

  30. MatLab eh.. by volodymyrbiryuk · · Score: 3, Funny

    the mathematical prowess of MatLab

    Like arrays starting at index 1?

    --
    sudo rm -r -f --no-preserve-root /
    1. Re:MatLab eh.. by iggymanz · · Score: 0, Troll

      that's actually an intelligent thing to do, autists made the 0 choice

    2. Re:MatLab eh.. by Anonymous Coward · · Score: 0

      that's actually an intelligent thing to do, autists made the 0 choice

      Blasphemy!

    3. Re:MatLab eh.. by phantomfive · · Score: 1

      Cool thing about indexes starting at 0: you can just pretend the first element doesn't exist and suddenly your array starts at index 1.

      --
      "First they came for the slanderers and i said nothing."
    4. Re:MatLab eh.. by Anonymous Coward · · Score: 0

      PowerShell does this too! So.... it's got that going for it....

    5. Re:MatLab eh.. by tender-matser · · Score: 1

      If I remember correctly, that's how C to Fortran translators worked -- waste a word, don't waste time and code adjusting the indexes to and fro.

    6. Re:MatLab eh.. by tender-matser · · Score: 1

      Sorry, that was Fortran to C translators.

    7. Re:MatLab eh.. by iggymanz · · Score: 1

      nah, an array 3 elements big has indexes go from 0 to 2. Really we need to smack the autists that invented C upside their heads

    8. Re:MatLab eh.. by Anonymous Coward · · Score: 1

      That's because, in C, an array is just a pointer, and an array index is just an offset from that pointer. Makes sense for the programmer. Makes sense for normal people too, this is why "floor 1" is where you are after going up one flight of stairs, instead of being the ground floor, in pretty much any place you go outside the english speaking world.

    9. Re:MatLab eh.. by phantomfive · · Score: 1

      If only people using Julia were good enough at math to add 1 to the total size of the array to adjust. I guess that's too hard for you, though. Incidentally, C is even better: because you can move the pointer, you can have the array start at any index, even negative indexes, without wasting any index space.

      --
      "First they came for the slanderers and i said nothing."
    10. Re:MatLab eh.. by mfnickster · · Score: 1

      Incidentally, C is even better: because you can move the pointer

      You can sort-of simulate an array using pointers, but this is one of the misconceptions people have about C: an array name is not a pointer.
      A pointer is a variable that holds an address, and an array name is not a variable.

      http://c-faq.com/aryptr/aryptrequiv.html

      --
      "Slow down, Cowboy! It has been 3 years, 7 months and 26 days since you last successfully posted a comment."
    11. Re:MatLab eh.. by iggymanz · · Score: 1

      uh huh, and most bugs in C programs are from the geniuses who somehow think they've mastered the size and location of things... but they fail

    12. Re:MatLab eh.. by iggymanz · · Score: 1

      Wrong, there is no reason the compiler couldn't deal with that while having arrays of size N go from 1 to N. The pointer then points to the location of index 1. There would be no problem.

      You're just aping the C mentality with your hardwired inflexible brain, plenty of languages start array indices at 1.

    13. Re:MatLab eh.. by Anonymous Coward · · Score: 0

      No language that does that deserves to live. I do not miss the monstrosity that was pascal.

    14. Re:MatLab eh.. by phantomfive · · Score: 1

      That's true but for the purposes used in this thread, if you need to you can easily create a pointer to an array with zero runtime cost.

      --
      "First they came for the slanderers and i said nothing."
    15. Re:MatLab eh.. by phantomfive · · Score: 1

      If you can only see negative in C, and no positive, then you are blind, and can have nothing interesting to say on the topic.

      --
      "First they came for the slanderers and i said nothing."
    16. Re:MatLab eh.. by Anonymous Coward · · Score: 0

      Wrong, there is no reason the compiler couldn't deal with that while having arrays of size N go from 1 to N. The pointer then points to the location of index 1. There would be no problem.

      Except that when you're using a variable index, you have to do an extra calculation on every array access, you mean.

    17. Re:MatLab eh.. by Anonymous Coward · · Score: 0

      When dealing with mathematical constructs starting from 1 makes more sense. People don't tend to count 5 items from 0 to 4.

    18. Re:MatLab eh.. by Anonymous Coward · · Score: 0

      When dealing with mathematical constructs starting from 1 makes more sense. People don't tend to count 5 items from 0 to 4.

      Perhaps the problem is that people tend to think array indices are counting numbers!

    19. Re:MatLab eh.. by Anonymous Coward · · Score: 0

      nah, an array 3 elements big has indexes go from 0 to 2. Really we need to smack the autists that invented C upside their heads

      Then you're an idiot who doesn't know much about C or how computer architecture work.

      See, C was created to match the assembly code of a PDP processor, and then used to re-write UNIX.

      Which means it matched the actual hardware, so the reason C starts counting at 0 is because computer hardware starts counting at zero. The computer has to start counting at zero, or you throw away one of your possible index values.

      Bitching about C starting indexing at 0 is pretty much saying "waah ... I'm clueless and ignorant about computers and need to be coddled".

      There's a reason why C has been in use for 45+ years, and why it's used for operating systems development ... and that's because it was written to match the way actual hardware works. FreeBSD, Linux, and probably many others are all written in C for a reason.

      If you think you could have designed a better hardware architecture, or a better language, by all means, impress us with your brilliance.

      Otherwise you're talking out of your ass about stuff you clearly don't understand.

    20. Re:MatLab eh.. by iggymanz · · Score: 1

      I never said anything about seeing or not seeing positives.

      But there are a few bad design choices in C cause no end of troubles now. And the design of C++ as a semi-OO language with a turing-complete macro pre-processor is of course garbage. Stroustrup set the cause of OO languages back a couple decades when he squatted and crapped that abomination out

    21. Re:MatLab eh.. by Anonymous Coward · · Score: 0

      Julia must be a very good language because the only things anyone can find "wrong" with it are that the syntax is cleaner than C and arrays start at 1, which are both positives to me.

  31. Re:It Sucks , they should use Java by Anonymous Coward · · Score: 0

    Yeah, I'll request a Dildo object from the Dildo object factory to create a Dildo instance that is to be sent to your butt(self) via the buttfuck iterator for this one.

  32. Is x the next big thing? no. by Anonymous Coward · · Score: 0

    Usually, when a headline asks a question like "Is x the next big thing?" Usually, the answer is no.

    1. Re:Is x the next big thing? no. by XXongo · · Score: 1

      Usually, when a headline asks a question like "Is x the next big thing?" Usually, the answer is no.

      Yes, that's Betteridge's law of headlines.
      http://betteridgeslaw.com

  33. It used to be some difference between languages. by Anonymous Coward · · Score: 0

    Now there is a new language ever other month and its just at sub or super set of some other language. Quit tweaking other languages and give them new names. Sit down, THINK and then design. Come up with something truly new and interesting!

  34. Language should guide you to good practices by presidenteloco · · Score: 2

    and try to limit the egregiousness of bad code.

    One example. Languages should probably enforce the presence of a method header comment.
    If you still choose to make it a useless comment, you're just advertising your complete misfit / incompetent status.

    Language made it easier to do the right thing and harder to do a bad practice.

    Same goes for meaningful indenting enforcement. It's a good thing, because it doesn't hurt, and encourages comprehensible code.

    The freedom you NEED as a programmer is freedom to
    - organize the order of your ifs, loops, and subroutine calls,
    - choose names, although that should be limited to a limited character set and probably enforced case and/or underscore conventions.
    - create arbitrary hierarchical data structures.

    You actually NEED no other freedoms than that.
    And the fewer extra freedoms you get, the less you will completely screw up the experience of others trying to read and understand your code.

    --

    Where are we going and why are we in a handbasket?
  35. I like Python, but it is something of a cf by SethJohnson · · Score: 1

    C and Python have somehow avoided turning into clusterfucks by being simple, while building an unstoppable freight train of reference work.

    I use Python much more than C or C++, but seriously. The complication between Python 2.x and 3.x compatibility is immense. And then there are the third-party libraries that frequently are no platform independent. To try to address this nightmare, the concept of Python virtual environments has been created as a hacky workaround.

    For these reasons, I cannot agree with you that Python evades the clusterfuck designation.

    1. Re:I like Python, but it is something of a cf by Anonymous Coward · · Score: 0

      Python 2 is an obsolete language, that has been obsolete for quite a while. Don't blame the language for devs clusterfucks.

    2. Re:I like Python, but it is something of a cf by SethJohnson · · Score: 1

      Python 2 is an obsolete language, that has been obsolete for quite a while.

      All I'm sayin' is there isn't C 2.7 and C 3.4. It's just "C." I suppose some may argue C++ is the equivalent to Python's 3.x branch in relation to "C." The object-oriented concepts introduced in C++ make it a wholly different language from C, while Python 3.x isn't so different from Python 2.x.

    3. Re:I like Python, but it is something of a cf by Anonymous Coward · · Score: 0

      Blame the language for the language designers clusterfucks.

      FTFY

    4. Re:I like Python, but it is something of a cf by Anonymous Coward · · Score: 0

      I suppose some may argue C++ is the equivalent to Python's 3.x branch in relation to "C."

      Kind of, but it wouldn't do to take the conceit too far. Python3 is indeed a new and separate language from python (which far from be "obsolete for years" has had several new versions (up to py2.7) developed), BUT it is a different language from python in a different way that C++ is a different language from C.

      The object-oriented concepts introduced in C++ make it a wholly different language from C while Python 3.x isn't so different from Python 2.x.

      Certainly not as regards to OOness of the languages. Sure.

      All I'm sayin' is there isn't C 2.7 and C 3.4

      Since I've never experienced any clashes between python and python3 on my systems, I can only wonder what problems others have experienced with this state of affairs?

      If you want to go at python, surely the thing that will doom python3 (and python) is the poor support for parallelism. That's something that Julia is apparently addressing. Unfortunately, unlike python, Julia doesn't yet come "with batteries included" for many practical tasks.

  36. Re: Never gonna happen ... by Anonymous Coward · · Score: 0

    "Julia is the last name of a famous mathematician. And he was a man."

    And the family name of Gaius Julius Caesar.

  37. stating the obvious by Anonymous Coward · · Score: 0

    Because I always aim for second best.

  38. Japanese? by DrYak · · Score: 1

    I have a copy of Romeo and Juliet in Japanese and her name is not Julia in it.

    Indeed, looks like "Romio to Djurietto"

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
  39. The "dynamism" of Ruby? by Anonymous Coward · · Score: 0

    I thought the point of Ruby was that, like Python, it was easy enough for bootcamp coders, but unlike Python was actually object oriented. I didn't know it had "dynamism". Interesting.

    Oh, and I really like how in Julia how instead of ending a function with a closing brace, or just white space, you type out "end". Wow, that's really useful, especially for people working in non-English countries where something like a closing brace could be confusing.

    1. Re:The "dynamism" of Ruby? by jma05 · · Score: 1

      For someone who is taking a shot at bootcamp coders, you are evaluating Julia with the syntax superficiality of someone who learnt programming last year.

    2. Re:The "dynamism" of Ruby? by Anonymous Coward · · Score: 1

      It's just really great that they solved the open problem of how to end a function effectively. Clearly "}" was just not cutting it and had to be improved upon.

      julia> function hypot(x,y)
                            x = abs(x)
                            y = abs(y)
                            if x > y
                                    r = y/x
                                    return x*sqrt(1+r*r)
                            end
                            if y == 0
                                    return zero(x)
                            end
                            r = x/y
                            return y*sqrt(1+r*r)
                    end

      Yeah man, that is fucking awesome! Who would not love to write 1000s of lines of code in that?

    3. Re:The "dynamism" of Ruby? by Anonymous Coward · · Score: 0

      You think unbalanced markers for blocks of code is a good idea? Ohhh kay.

    4. Re:The "dynamism" of Ruby? by jma05 · · Score: 1

      People who currently write Matlab/Octave code.
      It is trying to be familiar to its community of computer scientists writing vector code. You are clearly not the target audience.
      This is like wailing at design choices of R without understanding its S legacy.

      Also people who used Algol based languages in the past. Just be thankful, the begin wasn't also added.

    5. Re:The "dynamism" of Ruby? by Anonymous Coward · · Score: 0

      Oh, ok, so this is a niche toy for academic shitheads who suck. Got it. I wasn't sure at first though because, uh, the article says it's for developers who "want it all", but apparently "it all" means crap syntax mixed with some mediocre linear algebra packages.

    6. Re:The "dynamism" of Ruby? by K.+S.+Kyosuke · · Score: 1

      You can always use straight Lisp instead of going through Julia, nobody prevents you.

      --
      Ezekiel 23:20
    7. Re:The "dynamism" of Ruby? by Anonymous Coward · · Score: 0

      white space

      We're writing one where black space is significant.

      Called Tyra.

    8. Re:The "dynamism" of Ruby? by jma05 · · Score: 4, Informative

      Once you get over your newbie tunnel vision with the block syntax, you will find that Julia is a compact (despite the ends), powerful, high-performance, array language with meta-programing features.

      No, it is not an academic language like say, Haskell. It is a practical programming language for research into math-heavy algorithms - Artificial Intelligence, Signal Processing, Image Processing etc.

      No, it is not a general purpose language for day-to-day scripting or web/business programs. It is not, as you put it, for "bootcamp coders".

      "want it all" refers to the historically diametric needs of computer scientists. They need a high-level, expressive, vectorized language like Matlab to prototype and interactively explore data... and a high performance language like Fortran or C++ to implement that algorithm after, on the fastest supercomputers. This gives them both in one tool.

      It sounds like your never wrote any significant matrix/math code in your life. Writing any complex matrix code with just loops is like having one's teeth pulled, compared to how it is done in an array language like Julia. The block syntax is the least of one's worries when dealing with high-dimensional data.

    9. Re:The "dynamism" of Ruby? by Anonymous Coward · · Score: 0

      As far as the verbosity of the "ends" go, you can always use C macros to substitute 'end' for '}' and you're back in familiar territory. Problem solved.

    10. Re:The "dynamism" of Ruby? by Tough+Love · · Score: 1

      I really like how in Julia how instead of ending a function with a closing brace, or just white space, you type out "end".

      I don't know about you, but I actually type "end" faster than "}", because of no need to shift. I'm ok with either brace style or end style. On balance end-style is less ambiguous and less prone to error. I slightly prefer curlies anyway.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    11. Re:The "dynamism" of Ruby? by Anonymous Coward · · Score: 0

      So it's for undergrads to do homework. Got it.

  40. R.I.P. Python by Anonymous Coward · · Score: 2, Insightful

    Python 2.x to 3.x incompatibility is a total clusterfuck, and it's why I left the language.

    At this point I only trust people if can define their language up front in a way that can be safely extended and hopefully standardized. I'm not going to muck with Python again only to have it break in some version 4 or version 5. (Yes, I still have code in production with K&R prototypes even though ANSI C has been around for nearly 30 years.)

    Languages that offer useful pure functional programming are the future when it comes to massively parallel projects. The next big thing is going to be related to ML, Haskell, or OCaml. But it's a damn shame my old C skills make me no good at these languages.

    So I'll probably have to retire once a proper programming language comes around. Lucky for me nobody seems to be doing a very good job at making me obsolete!

    1. Re:R.I.P. Python by Zmobie · · Score: 1

      Functional languages are great, but difficult for a lot of people to wrap their heads around. I still routinely see people completely misuse even the simple C# lambda expressions because they don't understand the paradigms of that type of programming. Granted the lambdas in C# are confusing to understand how they execute under the hood just due to the nature of how they implemented the feature (and people assuming just because a generic functions is defined it must be the best one for their particular need), but compared to writing in Haskell they are child's play.

    2. Re: R.I.P. Python by n0nsensical · · Score: 1

      Mod up mod up mod up post of the mothaf****n year

    3. Re:R.I.P. Python by dromgodis · · Score: 1

      View them as two different languages and you'll be fine. Python 2 is one language. Python 3 is another. They happen to be named pretty similar and share a lot of syntax, which confuses a lot of people.

      Start the runnable files with:

      #! /usr/bin/env python2

      or

      #! /usr/bin/env python3 ... and don't worry too much about it.

      Yeah, it is not always as simple as that, but I sincerely believe that much of the frustration comes from treating them as the same language when they are not.

  41. Re: It Sucks , they should use Java by Anonymous Coward · · Score: 0

    Don't forget to scrub the Dildo first of bugs.

  42. Re:A good Matlab replacement, not the next big thi by jma05 · · Score: 1

    Yes, Python is the current replacement.
    However, Python is just not an array programming language by design.

    https://github.com/malmaud/Ten...

    Julia is Python + Numpy + Numba, without GIL, with metaprogramming features to make the code more symbolic than is possible with Python.
    It's community also tries to work along side Python, rather than compete. There are packages to call both ways.

    If you write only occasional linear algebra code, Julia is not worth the effort. But for those who write a lot more math code, it could be.

  43. Latin languages, etc. by DrYak · · Score: 1

    And we can continue, in most latin languages (and slavic and several others), she tends to be called after the Italian "Giulietta" (and local transcriptions there of).
    (Which is again different than Juliett - and would even make sense in the context given that's how is the language where the action is supposed to take place.
    Note that these will also tend to pronounce her lover "Romeo", again closer to Italian)

    So no, not the whole planet is calling them by the Shakespear's original english.

    Germans just use whatever is the local variant of Juliett, for ease of pronunciation.

    As German is a language regularily refered in the science (Mad scientist cliché) and computer (Blinkenlight !) lore, Romeo und Julia, could be fitting for computing language pairs.

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
  44. Juliette is Italian by XXongo · · Score: 1
    But Juliette is Italian. In Italian, Juliette is just the diminutive of Julia.

    It's like the story of Johann and Margaret, you know, those two kids who got abandoned in the forest and tried to follow breadcrumbs to get home.

    1. Re: Juliette is Italian by Anonymous Coward · · Score: 0

      It's henzel und gretten

  45. Link to a critic's view by labradort · · Score: 1

    http://www.zverovich.net/2016/...
    Like most of the comments here, not impressed... See the comments under the article for rebuttals. They have some good points, but I think this will only suit a niche user if it survives in the longer run.

    1. Re:Link to a critic's view by Lord+Grey · · Score: 1

      Like most of the comments here, not impressed... See the comments under the article for rebuttals.

      Did you see how old those comments were? And that the review was against Julia v0.4 or 0.5? They've made quite a bit of progress since then.

      --
      // Beyond Here Lie Dragons
  46. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  47. Python hypnosis by Anonymous Coward · · Score: 0

    Cult members make similar observations before committing mass suicide.

    What draws developers into Python is the same as what draws people into anything fringe, wizardry.

  48. Okay, slightly less bad than julia. by Anonymous Coward · · Score: 0

    Okay so I took a look... at the dependency graph, at least freebsd's take. It depends on pcre AND perl AND python. And llvm, of course. Its "dependency manager" drags in even more crap. expat (does xml), libxml2 (does xml), libyaml (wait wasn't xml enough?), and so on, and so forth. I don't want a ton of required dependencies just to have something that figures out all those dependencies.

    Maybe I'm old-fashioned, but I expect languages to not also require me to install enough libraries to fill up the room, just so the language can be arsed to allow me to do anything at all. And what sense does a programming language make that relies on several others to do its job for it?

    Rust fails the "sensible bootstrap" test, but so does julia. And, so does this here crystal.

    1. Re: Okay, slightly less bad than julia. by Bruce+Perens · · Score: 1

      I've definitely compiled the crystal compiler as recently as last week, without using Perl or Python. It just compiles itself, and makes use of some pretty standard libraries like openssh. I would suspect that it is the BED package installation system that is using Perl and Python

    2. Re: Okay, slightly less bad than julia. by Bruce+Perens · · Score: 1

      That should say BSD package system.

    3. Re: Okay, slightly less bad than julia. by jd · · Score: 1

      Crystal is one of a shrinking number of environments I've not worked in. And I respect Bruce enough to try it.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  49. Cat by DrYak · · Score: 5, Funny

    ...but why {...} ?!? {...} the syntax looks like the bastard child of Fortran and Perl

    Because since Python started overtaking Perl, my cats are sad because they can't write fully compliant programs just by random walking across the keyboard anymore.

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
    1. Re:Cat by JoeDuncan · · Score: 1

      Because since Python started overtaking Perl, my cats are sad because they can't write fully compliant programs just by random walking across the keyboard anymore.

      At least *someone* is thinking of our feline sysadmins...

    2. Re: Cat by TimMD909 · · Score: 1

      Makes sense. Cats don't give two shits about personal space. Pretty presumptuous to think they'd care about whitespace...

  50. I would like by tgibson · · Score: 4, Funny

    the readability of Perl with the brevity of COBOL.

    1. Re:I would like by Anonymous Coward · · Score: 1

      the readability of Perl with the brevity of COBOL.

      Ground Control to the mods selecting Insightful instead of Funny: Your mother was a basic interpreter.

  51. Re: Never gonna happen ... by Anonymous Coward · · Score: 0

    How do you know how Julia identified as..?

    CAP === 'munched'

  52. HR Posting by sycodon · · Score: 4, Funny

    Technologically aggressive company in the expanding AI and Scientific arena is looking for experts in Julia.

    Must have at least 5 years hands on experience building applications with Julia in multi-core, machine learning applications and simulations.

    --
    When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
    1. Re:HR Posting by DontBeAMoran · · Score: 1

      * and 25 years of blockchain experience.

      --
      #DeleteFacebook
    2. Re: HR Posting by Anonymous Coward · · Score: 0

      Luckily I am a 10x engineer so I can meet your 25 years

    3. Re: HR Posting by TimMD909 · · Score: 1

      "25 years of block chain experience" sounds like an alternate title for Shawshank Redemption.

    4. Re: HR Posting by Anonymous Coward · · Score: 0

      Completely remind me of the recent Italy highway collapse. It was designed by a celebrity engineer using his own patented materials that was later proven to be really shitty. Just because someone with related interest can use it for some large scale stuff doesn't mean it's good.

    5. Re: HR Posting by Anonymous Coward · · Score: 0

      Lol released 6 years ago you're looking for people with 5 years of experience. Gl

  53. Re: A good Matlab replacement, not the next big th by Anonymous Coward · · Score: 0

    They could have just made a jit for octave and everyone involved would be a lot happier

  54. Re:A good Matlab replacement, not the next big thi by Anonymous Coward · · Score: 0

    Scheme

    If you squint hard enough Javascript is Scheme minus cps.

  55. Re: A good Matlab replacement, not the next big th by Anonymous Coward · · Score: 0

    I don't think it's even that. Julia 1.0 takes more than 5s to load the plot package, for example, which was a show stopper. If i need to wait a few secs for every package i decide to use, every time i use them.... Then I'd rather prototype code with python.

  56. No thanks by WaffleMonster · · Score: 1

    No curly braces? Asymmetric 'end' doesn't work for me.

    No switch control statements? Seriously?

    Garbage collected = ick.

    Socket interface was written by mickey mouse. No protocol family? Apparently only works with IP (TCP/UDP only) and domain sockets. To say that Sockets.setopt is lacking is the understatement of the year.

    Included function library way too weak to take seriously.

    Julia is actually a lot better than I thought it would be. Was expecting typical academic snobbery. Yet it fails to bring anything compelling (to me) to the table. Currently if I wanted to use a garbage collected language would much rather use C#.

  57. Julia is Hot by BrendaEM · · Score: 2

    Nearly seamless multitasking over an entire network.

    --
    https://www.youtube.com/c/BrendaEM
  58. Re: Trump's the next big prisoner by Anonymous Coward · · Score: 0

    Those Democrats and their silly Stalinesque Gulag fantasies!

  59. I have several Senior Julia Programmer positions by Anonymous Coward · · Score: 0

    I have several Senior Julia Programmer positions open. 10 years hands of Julia experience in a high volume environment required.

  60. Julia by Anonymous Coward · · Score: 0

    Programmers want to be with her.
    Other languages want to be like her.

    Julia!

  61. Next big language by sdinfoserv · · Score: 1

    I think I've seen this headline "is xx the next big language" 1/2 a dozen times on this site....

    1. Re:Next big language by Swave+An+deBwoner · · Score: 1

      You must be new here.

  62. Re: Never gonna happen ... by arth1 · · Score: 1

    The language isn't named after the mathematician, though.
    My first thought was Julia from Nineteen Eighty-Four, but that's not the case either. From an interview of one of the creators:

    InfoWold: Why the name, Julia?

    Karpinski: That's everybody's favorite question. There's no good reason, really. It just seemed like a pretty name.

  63. Re: A good Matlab replacement, not the next big th by jma05 · · Score: 1

    If you look for Python in Julia, you will be disappointed. When I first tried Julia, a few years ago, on a slow machine without an SSD, the plot package, Gadfly, took minute(s) to load.

    This was likely due to the JIT. Startup times are not a key factor for its target audience. This is not a typical scripting language. People fire up the interpreter and leave it running all day or all week, as they test snippets in it. It is used like Matlab or like a Jupyter notebook session. Scientific packages in Python take several secs to load as well. On the full dataset, the extra few secs of startup means little when the savings are in orders of magnitude.

    But if you are testing on small datasets and starting it up like a scripting language, I can see how you would be disappointed.

  64. 1-based arrays by dbrueck · · Score: 2

    I read through the docs and was really liking what I was seeing... right up until the part that it says arrays are 1-based. Ah well, nevermind then.

    1. Re:1-based arrays by albeit+unknown · · Score: 1

      This is the Right Way.

      Zero-based counting in computers has evolved from a useful efficiency trick during an era of scarce resources into an almost elitist vestigial organ that needs to be chopped off. All it leads to is more intense thought processes and off-by-one bugs.

    2. Re:1-based arrays by dbrueck · · Score: 1

      Zero-based counting in computers has evolved from a useful efficiency trick during an era of scarce resources into an almost elitist vestigial organ that needs to be chopped off. All it leads to is more intense thought processes and off-by-one bugs.

      Actually, the opposite is true - zero-based indexing can help eliminate off-by-one bugs (see https://en.wikipedia.org/wiki/...). It's also not true that the reasoning for it is efficiency (in addition to the wikipedia article, see Dijkstra's take on it - http://www.cs.utexas.edu/users...)

    3. Re:1-based arrays by Tough+Love · · Score: 1

      This is the Right Way.

      According to who? Of course you are aware that the concept of zero was a relatively late development in the time line of mathematical history. Can you see how that might extend to your own preconception?

      Like OP, I view 1-based arrays as a flaw. Main reason: code written around zero based arrays tends to have fewer boundary conditions than one-based, as any skilled developer knows. I hope that the language designers are smart enough to address this, otherwise it is just going to keep coming back to haunt them.

      And to OP: thanks for the heads up.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    4. Re:1-based arrays by iggymanz · · Score: 1

      No, you are the one imagining the silly invented convention of zero based arrays is somehow logical or useful just because that's what you learned first.

      There is no reason or benefit to it, and it does cause bugs. Any logical person without the baggage you hold between your ears would think an array containing 3 items should have indexes go from 1 to 3. It's just common sense, which many language inventors and you lack.

    5. Re:1-based arrays by Tough+Love · · Score: 1

      you are the one imagining the silly invented convention of zero based arrays is somehow logical or useful just because that's what you learned first.

      Wrong, it is not what I learned first. You out yourself as a neophyte.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    6. Re:1-based arrays by iggymanz · · Score: 1

      Neophyte? I was coding before most here were born. Let's see, old languages, ALGOL, PL/I, ForTran, COBOL, RPG, SmallTalk...used 1.

      Sure, plenty of others used 0, like LISP

    7. Re:1-based arrays by Tough+Love · · Score: 1

      Apparently you never "got" any language after Fortran

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    8. Re:1-based arrays by iggymanz · · Score: 1

      sure I have, made my living with plenty of the 0 index based languages too: C, C++, Objective C, Perl, Python, PHP, Java, Ruby

      well there is lua too, another index at 1 language. proving there is no necessity for starting at 0, the compiler could handle mapping to memory

    9. Re:1-based arrays by Tough+Love · · Score: 1

      I would not hold Lua up as a shining example of anything. It's an example of something, but not something shining. Sure, a compiler can partially unravel a mess made by 1-based indexing, but that does not help unravel the mess it makes in your brain. You as an example :)

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    10. Re:1-based arrays by Anonymous Coward · · Score: 0

      modded down because ad hominem. You can do better. And, you are wrong.

    11. Re:1-based arrays by Anonymous Coward · · Score: 0

      One-based is definitely the right way. Anyone who has doubts about this should learn and use Fortran and Algol 68. Multidimensional arrays and arbitrary lower bounds are also much more natural in these languages. Zero-based languages have a hard time transitioning to arbitrary lower bounds because zero-based conventions only make sense for 0, while the natural (one-based) conventions make sense for any number, including 0. This is because integer ranges are inclusive in most languages, including mathematical notation (e.g. summation) and English. Leaving out the ending number is just as unnatural as leaving out the beginning number. The Python range(1,10) counts from 1 to 9 and range(-10,0) counts from -10 to -1, which are unnatural, just so there could be a list of 10 items when counting from 0 to (and excluding) 10.

      I noticed right away how much more natural a[1:3] meaning array elements a[1], a[2], and a[3] is compared to the zero-based conventions, which gives a[1] and a[2] (actually the second and third elements) only. When splitting an array, (a[m:n-1], a[n:]) puts a[n] into the second part, and (a[m:n], a[n+1:]) puts a[n] into the first part, just how it looks. The Python is much less logical, just so that a[0:n] could produce a list of n elements. In Python, a[n] (6) is arbitrarily part of the second array.

      >>> [a[m:n], a[n+1:]]
      [[1, 2, 3, 4, 5], [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]]
      >>> [a[m:n], a[n:]]
      [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]]
      >>> [a[m:n-1], a[n:]]
      [[1, 2, 3, 4], [6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]]

    12. Re:1-based arrays by Anonymous Coward · · Score: 0

      No, you are the one imagining the silly invented convention of zero based arrays is somehow logical or useful just because that's what you learned first.

      You're too stupid to know what you're talking about.

      Arrays are zero indexed, because the underlying hardware is zero based indexing.

      I'm sorry you are stupid enough to think this is a 'silly invented convention', but the reality is that it directly mirrors how the actual fucking CPU works.

      So when you're all grown up and build your own CPU architecture, you can make it 1-based indexing. And then you will discover countless ways that it is a stupid fucking idea, because to make the low level stuff work, you need zero based offsets.

      You posting all over this thread of why 0-based indexing is bad just demonstrates you haven't got the slightest fucking clue what you're talking about.

    13. Re:1-based arrays by Tough+Love · · Score: 1

      you are wrong.

      Wow, cogent argument.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    14. Re:1-based arrays by shutdown+-p+now · · Score: 1

      Arrays and matrices are 1-based in math and statistics, like it or not.

      This is a language for that crowd first and foremost, so it's going to be using conventions that are well-established in their field.

    15. Re:1-based arrays by Anonymous Coward · · Score: 0

      > well there is lua too, another index at 1 language. proving there is no necessity for starting at 0, the compiler could handle mapping to memory

      This is true, but 1-based indexing is pretty much just syntactic sugar. The indexing will still be 0-based "under the hood." C is not big on syntactic sugar, aka hand-holding/training wheels.

    16. Re:1-based arrays by iggymanz · · Score: 1

      haha, no mess would be made since plenty of people deal with both kinds of languages. Note the biggest bugs harming our infrastructure today mostly made in the 0 based ones, hmm. And it usually has to do with bounds

  65. "from the how-about-that dept" by Anonymous Coward · · Score: 0

    Are you asking us Ms. Mash? If so, the answer is NO. The world has plenty of programming and scripting languages already. Just what the world needs: Another language without sufficient support libraries.

    Since PHP wasn't mentioned, I'm gonna mention it. PHP is great for prototyping, it already does all of those things, AND generally blows the performance lid off the listed languages. The fact they compared their language to Ruby, which is one of the worst languages ever invented in terms of performance, tells me all I need to know about Julia. Also, it's easy to write poorly performing C++ code since C++ provides ample tools to do that too - aka the Standard library (and don't even start on the disaster known as Boost). It's like everyone's forgotten how OSes are designed and that nearly all computing problems were actually solved in the 1960's.

    But garbage like Julia is slowly turning me into a neckbeard where I'm slowly but surely aligning with Linus Torvalds on this nonsense: C or bust. Get off my lawn!

  66. Re:A good Matlab replacement, not the next big thi by Anonymous Coward · · Score: 0

    calling c in Julia is just a ccall away
    ex:
    libcTime = ccall((:clock, "libc"), Int32, ())

  67. Re: A good Matlab replacement, not the next big th by Anonymous Coward · · Score: 0

    I'm actually quite heavy MATLAB user, but I also use python because I don't want to rely on MATLAB alone (plus I do soft. dev. as well). My machine is an i7 quadcore with 16GB of ram and an M.2 SSD (math modelling/quant. bio/genomics/ML). Even in older machines I still had to come to a python package that didn't load in a fraction of a sec (within my domain, so to speak, and plotting is a pretty basic one). So for me julia would be that "want it all" language (free/libre like python, but without the hassle of writing python -coming from MATLAB-).

    If I'm trying snippets before writing an algorithm, and every time I load a new package to try different approaches it's going to take a few secs... well, it's just not productive. Like trying to have a nice walk and being stopped every few steps, it's just not nice. This problem didn't exist before (0.6), where the package would precompile and after that, loading it up in a new session was pretty much instantaneous.

  68. ...same old dumb error reporting by Kormoran · · Score: 1

    julia> else = false
    ERROR: syntax: unexpected "else"

    That error message should be "Can't assign to a language keyword, you %&#@£!!!"

    Generally speaking, NO ONE of the many new languages I have seen in decades give a thing about precise error reporting and human-meaningful explanation of the wrongdoing. Why so much hate???

    You could more easily win programmers to your language if they won't need the necronomicon to fathom what's wrong with their code... but NNOOOOO, let's give them hell...

    1. Re:...same old dumb error reporting by Tough+Love · · Score: 1

      julia> else = false
      ERROR: syntax: unexpected "else"

      That error message should be "Can't assign to a language keyword, you %&#@£!!!"

      That's debatable, personally I find that error message more than clear. So you would like it slightly different, I disagree, but in any case I am puzzled about how this justifies a social media rant. And did you really just advocate that the compiler should insult the user?

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    2. Re:...same old dumb error reporting by iggymanz · · Score: 1

      what can you expect, languages are invented by austic pedantic fucks that otherwise would be living in their mother's basement since they'd be otherwise unemployable

    3. Re:...same old dumb error reporting by tender-matser · · Score: 1

      julia> else = false
      ERROR: syntax: unexpected "else"

      That error message should be "Can't assign to a language keyword, you %&#@£!!!"

      For that to work, the parser should backtrack and reparse the expression treating 'else' as a terminal / variable name. That would be an absurd complication, and will hide the fact that keywords aren't symbols. (That's not scheme, where you could bind 'if' and 'for' to whatever you like).

      Of course, they could be less anal and write something like 'unexpected keyword "else"', but the parser was probably written in an afternoon 10 years ago and not touched since then.

      Generally speaking, NO ONE of the many new languages I have seen in decades give a thing about precise error reporting and human-meaningful explanation of the wrongdoing.

      Try perl, since its parser was 'cleaned up' some years ago. If you forget a quote or a closing '}' you get a hundred pages of error messages (with thousands of "variable may not stay shared" and "Scalar found where operator expected"), with the one mentioning the error line neither at the start or at the end, but hidden somewhere in the middle (if it exists at all!)

    4. Re:...same old dumb error reporting by Anonymous Coward · · Score: 0

      Your suggested error message makes unwarranted assumptions.
      Maybe the user wanted to write "else a = false", so the message should be "missing '=' target variable". Or maybe they wanted "else -false", and the error should be "invalid prefix operator '='". Or any other combination of what they wanted but mistyped. There is no way for the compiler to know.

      Most pure lexical and syntax errors are easy for a human code to spot and fix once they see the offending code, all you really want from a compiler is to quickly point you to the spot where something went wrong. The only errors worth more extensive reporting are deeper semantic-level ones, like type mismatches, constraint violations , problems in expanding templates etc.

    5. Re:...same old dumb error reporting by Kormoran · · Score: 1

      Of course, they could be less anal and write something like 'unexpected keyword "else"'

      That would be the bare minimum. And it's easy to do. And no, they don't do it. I see this carelessness in every software that logs or reports errors, but it's most prominent in programming languages. I wonder why, among the programs they write, programmers care less about their own tools.

  69. Already installed by Tough+Love · · Score: 1

    Installed Julia as a result of some earlier Slashdot post. Installed and played with it a bit and didn't get immediately pissed off by anything blatant, that's already good. Looked a bit deeper, found that it has extensible types but does not have methods on types, instead it has signature-based function dispatch. For me, the jury is still out on just how well it works. Otherwise, this one looks really promising.

    Like many others, I have been casting around for a great language for casual programming that also extends to full blown production systems and team work if necessary. Python... so close, yet so far. Pathetic performance, stupid whitespace convention, and terrible C interface relegate Python firmly to the "nice try" category for me. Python was my go to language for bash script replacement and quick prototyping until recently, when Go because clearly better. But Julia seems better than Go on balance. All just my opinion of course.

    Thanks for the refresher post, I think Julia deserves a closer look for any serious practitioner.

    --
    When all you have is a hammer, every problem starts to look like a thumb.
    1. Re:Already installed by Anonymous Coward · · Score: 0

      Modded up because not ad hominem or troll-ish, good job :)

  70. Yawn... by QuietLagoon · · Score: 1

    Yet another programming language that promises to do it all.

  71. Re: A good Matlab replacement, not the next big th by jma05 · · Score: 1

    > Even in older machines I still had to come to a python package that didn't load in a fraction of a sec

    Spacy would take a while to load the english model. Pandas + Scikit-learn used to take a few seconds some years ago, without an SSD (~1 sec each now). So did matplotlib. With SSDs and modern hardware though, things got a lot better.

    Only some of Julia's packages were heavy. Gadfly was the worst then. When I first looked at it, the slow startup stood out for me as well. But I can tolerate 5 sec for a large package though in an interactive session. I am used to that. Still, I would agree that load times should be their priority.

    I haven't followed Julia much in a while. So I can't speak for the performance changes. I tried it when it first came out.

  72. Is Betteridge a reliable predictor? by Tough+Love · · Score: 1

    We just want to know.

    --
    When all you have is a hammer, every problem starts to look like a thumb.
  73. Pascal by Anonymous Coward · · Score: 0

    If we had all just stayed with Pascal, the world would have been nirvana by now!

    1. Re:Pascal by DontBeAMoran · · Score: 1

      I sincerely hope you meant Turbo-Pascal, you heretic!

      --
      #DeleteFacebook
  74. You know a PL is doomed ... by Qbertino · · Score: 1

    ... when it's presented in an article posted on what must be the shittiest technews website ever. Running slower that the most degraded WordPress installation I've seen or worked with, loading north of 30 external trackers, codesnippets and such.

    Un-fucking-believable, that's what.

    --
    We suffer more in our imagination than in reality. - Seneca
  75. How bad the English is by Anonymous Coward · · Score: 0

    Thatâ(TM)s what makes one think this is an English language site.

  76. I don't get switch. Really don't. by Qbertino · · Score: 1

    I've been programming for over 30 years and have used switch less than 10 times in that entire time. It's completely pointless IMHO. How Go could inlcude switch but no foreach is totally beyond me. ... Although I sort of like Go.

    --
    We suffer more in our imagination than in reality. - Seneca
    1. Re:I don't get switch. Really don't. by Anonymous Coward · · Score: 0

      Well, that's your problem. You were a waste of space all those 30 years.

      I guess you're one of those perl "programmers" also writing things like

      if($ord eq 'First'){ $i = 0 }
      elsif($ord eq 'Second'){ $i = 1 }
      elsif($ord eq 'Third'){ $i = 2 }
      elsif($ord eq 'Fourth'){ $i = 3 } ... etc

      Although I sort of like Go.

      Yeah, that's not surprising.

  77. Yaaawn! Wake me when your tooling is on par ... by Qbertino · · Score: 1

    ... with that of Kotlin or TypeScript.
    Then I'll consider it viable for a checkout.

    And I'm not even joking.

    --
    We suffer more in our imagination than in reality. - Seneca
    1. Re:Yaaawn! Wake me when your tooling is on par ... by jma05 · · Score: 1

      It does.
      https://github.com/JuliaEditor...

      If you are a Kotlin or TypeScript coder, Julia is not for you.
      While it has all the general programming facilities, it is mainly a scientific programming language, not a web or app language.

      If you don't have at least an undergrad in CS/Finance/Math/Physics/Engineering, you likely don't have a need for it and would be better off with Python or some other mainstream languages with numeric libraries for the occasional vector math that Julia primarily targets.

  78. Re: Trump's the next big prisoner by Anonymous Coward · · Score: 0

    Ummm, does âoelock her upâ ring a bell.

  79. Re: Never gonna happen ... by Anonymous Coward · · Score: 0

    âoeHalf of what I say is meaningless,â - Julia, The Beatles.

  80. Misogyny kills language by Anonymous Coward · · Score: 0

    Julia on its technical merits is superior, but MGTOWs and self-professed libertarians will kill it out of anxiety it lets women take a single step forward.

  81. Matches the underlying hardware by Anonymous Coward · · Score: 0

    an array 3 elements big has indexes go from 0 to 2. Really we need to smack the autists that invented C upside their heads

    In the underlying hardware, the individual elements within a block/vector/1D-array have offsets 0, 1, 2, 3, ... and so on.

    C has always aimed to represent the hardware as closely as possible but in a slightly higher-level textual form. That's why it is often described as a high level assembler, which is a very appropriate description. That is its intended niche, not a mistake, so starting arrays at subscript 0 is entirely accurate and matches its intended purpose.

  82. Ethel the Pirate's Daughter by Anonymous Coward · · Score: 0

    The native language of story is English and the title in English is Romeo and Juliet. Nobody on an English speaking website would ever call it anything different.

    Trivially untrue. This is an English language website, I'm a native English speaker and I am calling Shakespeare's Romeo and Julia something different, namely: "Romeo and that Caputlet Tart"

  83. C is not efficient outside a PDP 11 by aberglas · · Score: 1

    First problem is that C demands byte addressing, so can only address 4 gig with 32 bits. So we move to 64 bit architectures, which almost double the memory requirements of may programs.

    Java, for example, can address 32gig with 32 bits, which is plenty for almost all normal applications. That is because it does not need to support the idiotic pattern of running a pointer through a string.

    Likewise, larger C and worse C++ programs tend to do a lot of copying of data structures in order to control "ownership". A properly garbage collected language does not require that. And malloc/free is actually a pretty inefficient way to garbage collect.

    There are idiocies in other languages which slow them down. For example, UTF-16 Strings in Java and .Net. But that is not fundamental.

    With safety turned off, C# can be as efficient as C using a C style. Compilers optimize out array indexing etc.

    1. Re:C is not efficient outside a PDP 11 by Anonymous Coward · · Score: 0

      > First problem is that C demands byte addressing, so can only address 4 gig with 32 bits.

      Name a modern computer that's not byte-addressable.

  84. Well said by CNTOAGN · · Score: 1

    Your comment is excellent. I don't have any points right now, so just thought I'd thank you. -CNTOAGN

  85. bfd by Anonymous Coward · · Score: 0

    $5 rent-duh-k0d3r problem.

  86. Python is the heroin of languages by Anonymous Coward · · Score: 0

    You jest, but that is exactly when I use Python. E.g. for roughing out a prototype to decide if the concept is worth pursuing in a more rigorous form.

    I first used python to roll up a quick proof-of-concept for something we were going to write in Java. After two weeks re-implementing in Java and comparing the code, we opted to develop the production version in python instead. I now find it annoying to use languages other than python. Perhaps Julia can cure me?

    Python is an evil addictive language which can cause you abandon real programming languages. The dangers of roughing out a prototype (at least for non-time critical applications) is that you may find it difficult to remove the python infection and get stuck working in it. Best not to try it in the first place. Just say NO!

  87. Re:It Sucks , they should use Java by Anonymous Coward · · Score: 0

    > Java is excellent for floating point computations, as it ditches all that IEEE-754 stuff.

    Yeah I'm just going to assume this is a troll.

  88. matlab by nten · · Score: 1

    It just looks like MATLAB to me. Matlab isn't niche. It is quite high and climbing in the tiobe index for whatever that is worth.

    --
    refactor the law, its bloated, confusing and unmaintainable.
    1. Re:matlab by JoeDuncan · · Score: 1

      It just looks like MATLAB to me.

      "looking like matlab" isn't a pro...

      Matlab isn't niche.

      No, but it IS ugly!

  89. Again? by Anonymous Coward · · Score: 0

    But ive almost finished my port of the Linux kernel to Rust! Before that is was Go, and before that Java.. When will it stop???!

  90. Exponential code-generation by Anonymous Coward · · Score: 0

    Have they found a solution to their exponential code-generation problem?
    I remember seeing a presentation they did to a group of language professors, and one of their gripes was that they generated all type specialized code, just in case it would be used.

  91. Julia architect needed +10 years exp by Billly+Gates · · Score: 1

    Hi this is Rajeesh from Infosys.

    I am seeking a senior architect with 10 years experience of Julia for a position in Antartica. Must have 8 years of experience in Go as well and HTML 6 will be handy as required by the PM of this client. If interested please respond back and I will call you at 5am your time only if meet the requirements.

    Take care.

    1. Re:Julia architect needed +10 years exp by jma05 · · Score: 1

      Given that most of the posters here did not even understand what Julia is, even after googling it, I'd say that an average Slashdot coder today is not much different from that HR Rajeesh.

  92. Re: Trump's the next big prisoner by Anonymous Coward · · Score: 0

    âoelock her upâ

    Is that Finish?

  93. Re: Trump's the next big prisoner by Tyger-ZA · · Score: 1

    âoelock her upâ

    Is that Finish?

    No, it's iPhonish.

  94. Earth calling AC by Anonymous Coward · · Score: 0

    What draws developers into Python is the same as what draws people into anything fringe

    As one of the most widely used high-level languages today, python can hardly be described as "fringe." Liking it is another matter, but surviving as a developer without being able to read and tamper with python code?! Only if you work in a very cloistered environment, (or if all that third party python stuff is good enough not to require the occasional hack).

  95. Did even look at the language? by Anonymous Coward · · Score: 0

    I saw the post for this language last night when there weren't a lot of comments. Then I and spent an hour or so reading the docs. It's really the best language I have seen come out since I started using Python in 2001. The authors have obviously used Python, Perl, C, Java, etc. because it is easy to recognize which parts come from where. From Python, a lot of syntax is taken, which they simplified even more, such as when defining functions, making for loops, etc. Indentation is used, but so is the "end" keyword so you can be more certain that the indentation is not a mistake and is actually ending something. They have incorporated the "last result" concept from Perl ($_ perhaps? I can't remember...), but they only allow its use when directly using the interactive shell. This is great because the concept is really useful when writing/debugging code, but can be a bitch when going back to read it and not knowing what is going on. They also have Perl regular expressions. Julia uses UTF-8 for chars by default, which looks really easy to use. The same is true for parallelism, which also looks easy. It compiles properly to a binary. One can use dynamic typing or static, which is perfect because when sketching out an idea, you don't want to worry about types. But later, when you are worrying about speed and possible bugs, you can type everything. Like with Python, they also have ways to call out to other code, such as Python and C. For a new language, it has a surprisingly large number of modules in its standard library. And of course there are the aforementioned numerical uses that are designed into the language. It looks good enough that I will start trying to write some code with it and see if I can find any reason not to use it. So far, I'm quite blown away.

    This morning I came to read the same article to see if anyone here had the same experience. Unfortunately, all I see are people bitching and complaining. From those complaints IT IS OBVIOUS NO ONE EVEN LOOKED AT THE DOCS! I get it, it's cool to bitch about things. And I get it, this is like the 1000th language to come out in the last 20 years and they are all supposed to save us from ourselves. But come on...sometimes good things DO happen. Electric cars are on the roads now and batteries get better every year. New medical advances come everyday. Solar panels are cheap now. Etc. etc. You have to acknowledge those good things, take some happiness from them, and tell everyone about them so they can enjoy it, too.

    In sum, the only negative thing I see about this language so far are the comments here, which come from people being negative in general and not any fault of the language itself. Go check it out first and then pass judgement. We can all learn from the comments here by sharing what we find. The rest is useless noise, or worse, misleading.

  96. OMFG!! PLEASE!!!!! by FlyingGuy · · Score: 1

    Cant we all grow up and just go back to using C?

    Almost every language that has been tossed out in these posts is written in C, some in C++, including the language in question!

    A few, a very few, are written in the ISA's version of assembler.

    I see the biggest part of the problem comes from CompSci people trying to get their PHD and needing to do something, hell, anything to complete their dissertations!

    C is a tiny language, C is compact, C is lightning fast, and C has saved my bacon more than once in my career.

    If you can't write it in C, you shouldn't be writing code, anywhere! Be a plumber! Be an electrician, be an HVAC person, be any of the high paying jobs that this country is crying out for! Use your education, become the owner of any of those types of companies, but please, leave writing code, to those of us who started with assembler, learned C after that and can write any kind of code you want or need, and yes that includes everything.

    --
    Hey KID! Yeah you, get the fuck off my lawn!
  97. Re:OMFG!! PLEASE!!!!! by jma05 · · Score: 1

    > Cant we all grow up and just go back to using C?

    That is not growing up. That is being plain stupid.

    Julia is faster Matlab. Just about everyone who uses MATLAB knows C. These are properly-educated computer scientists. MIT isn't a place for VB6 coders.

    Julia is meant for people who think in Math, not instruction sets. If you never had college level math education, you will be unable to see its utility.

    The problem isn't that people don't understand C. It is that YOU don't understand WHY no one who uses Matlab is eager to write in C, even when it is bloody slow. It is too distracting from the problem at hand. You think they are complicating things for the sake of a PhD. No genius. They are desperately trying to get done. They work all day with high-dimensional matrices. C is a pain in the neck to code that.

    Do you have a 4 year college degree? Did that have any significant math in it? Do you read CS research papers? If not, you are perhaps just an overpaid code monkey who solves fairly repetitive and dumb problems. You won't get this.

  98. Re:OMFG!! PLEASE!!!!! by jma05 · · Score: 1

    The closest C++ has to Julia is Armadillo.

    http://arma.sourceforge.net/

    Even that is not pitched for research, but to migrate Matlab code, once the algorithm has been developed.
    Julia removes the need for this migration.

  99. Re:OMFG!! PLEASE!!!!! by FlyingGuy · · Score: 1

    You might want to look through this http://www.gnu.org/software/gs...

    --
    Hey KID! Yeah you, get the fuck off my lawn!
  100. Re:OMFG!! PLEASE!!!!! by FlyingGuy · · Score: 1

    Or just run this simple google search: https://www.google.com/search?...

    --
    Hey KID! Yeah you, get the fuck off my lawn!
  101. Re:OMFG!! PLEASE!!!!! by FlyingGuy · · Score: 1

    And as opposed to your snide, and rude remarks... Yes I have a 4 year degree, and it had lots of math. So please either reply objectively, or please don't reply, at all.

    --
    Hey KID! Yeah you, get the fuck off my lawn!
  102. Re: Slut by Anonymous Coward · · Score: 0

    Yeah.... Julia is such a slut.

  103. Re: Slut by Anonymous Coward · · Score: 0

    Hey it's not right to Slut Shame Julia!

    It's all those those who used her in the past 6 years who are the real bastards! Stop shaming the victim.... go after the real creeps like the MIT professor and his horde.

  104. Re:OMFG!! PLEASE!!!!! by jma05 · · Score: 1

    > Yes I have a 4 year degree, and it had lots of math.

    Good for you. And yet you don't understand the value of an array programming language?

    > And as opposed to your snide, and rude remarks

    Oh, that stings?

    > > If you can't write it in C, you shouldn't be writing code, anywhere! Be a plumber! Be an electrician, be an HVAC person, be any of the high paying jobs that this country is crying out for!

    Does the above sound intelligent to you? I just replied in kind.

    > leave writing code, to those of us who started with assembler, learned C after that and can write any kind of code you want or need, and yes that includes everything.

    Your assembler and C experience won't help you learn Haskell faster. This is like Sheldon on Big Bang Theory arguing that he has a better opinion on Biology or Medicine since he knows Physics, since that is eventually underneath it all. Doesn't work that way.

    In CS research departments, they have a few low-level coders around. These are implementers, not researchers.

    > Or just run this simple google search: https://www.google.com/search?... [google.com]

    We can all do Google searches. How many mathematicians do you know today who do modern math in C?
    All your results are for rudimentary C 101 tutorials for programming newbies explaining what a for loop is. These are basic arithmetic level tutorials.
    That is not where math research is today.

    > http://www.gnu.org/software/gs...

    GSL gives you some very useful algorithms, but it won't help you write clean math code. You want to write code as close to the symbolic stuff, not clutter it with imperative loops, memory allocations, deallocations and casts.

    Compare some Julia code vs. gsl_vector code side by side.

    Statisticians choose R over C for very good reasons. Web devs use PHP/Ruby over C for very good reasons. CS researchers and Engineers choose Matlab over C for very good reasons. Kernel/Programming language/Core library designers choose C/C++ for very good reasons. There is no silver bullet.

    Just about everything is an improvement over C in terms of productivity and safety. All too often, people mistake sunk cost bias for rational choice. Low-level programming choice is often mistaken for intelligence.

  105. Re: Slut by Anonymous Coward · · Score: 0

    Oh come on now, calling a 6 year old a slut is going overboard.

  106. Re: Slut by Anonymous Coward · · Score: 0

    Not if you're a Muslim. That's just SOP.

  107. Re: Ooh Shiny! by jd · · Score: 1

    Cheezburger add-ons aer abailable from awl gud kittehs.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  108. Re: Never gonna happen ... by jd · · Score: 1

    The identifier at the start of his code block.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  109. Re: It Sucks , they should use Java by jd · · Score: 1

    I've seen faster COBOL.

    Java is ugly, horrible to write in, bloated and incredibly slow. Threading is a pain, indeed everything is a pain. It's not pure OO and it has a crappy format for databases.

    It's so bad, performance frameworks moved off it.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  110. Re:A good Matlab replacement, not the next big thi by q_e_t · · Score: 1

    Octave isn't really aimed at computer scientists, rather scientists. Matlab is aimed at scientists and engineers. OK, somewhat of a simplification, but Computer Science is not what springs to mind when someone says Octave.

    Of course scientists also use R, Python, C++, and Fortran, depending on what they do, etc. And occasionally Java, Scala, Julia, and a few others.

  111. Reality calling AC by Anonymous Coward · · Score: 0

    Bless people after they sneeze, and throw salt over your shoulder. You must conform to social norms or you will cease to exist.

    Except that very conformity that you seek is what destroys your individuality.

    As a 25 year veteran of the business software industry, I recommend you don't obsess about tools. And clearly identify when a tool has limitations or disadvantages and reject emotional appeals such as fanboi-ism or bandwagon.

    1. Re:Reality calling AC by Anonymous Coward · · Score: 0

      Bless people after they sneeze, and throw salt over your shoulder. You must conform to social norms or you will cease to exist. Except that very conformity that you seek is what destroys your individuality.

      I objected to a widely used language being referred to as "fringe" and thus to be compared with a death cult and you think that makes me deserve your corny faux-philosophysing?! As a 25 year veteran of the business software industry, you'd be advised to stick to business software, to leave the serious thinking to serious thinkers, and to spare the rest of us the banal and outworn platitudes which you apparently mistake for insight.

      Have a nice day.

  112. Not ready for Prime Time by dabrowsa · · Score: 1

    I like Julia, I went through a period of enthusiasm for it a few years ago, and I'm going through another now. But.

    The packages, which are necessary for any serious work, are almost all below v. 1. They are plagued by constant bugs and quirks: e.g. Flux only supports the GPU if Julia is compiled from scratch, while Distributions only works if you downloaded binaries. There are half a dozen different graphics packages, so its not clear you should invest your time learning any of them.

    But I'm still optimistic about its chances in the future, after a few more years of shakeout.

    --
    `Perche non reggi tu, o sacra fame de l'oro,l'appetito de' mortali?'
  113. Re:A good Matlab replacement, not the next big thi by shutdown+-p+now · · Score: 1

    If you squint hard enough, everything is assembler in the end.

    But it's hard doing useful things when you're squinting all the time.

  114. Re:OMFG!! PLEASE!!!!! by shutdown+-p+now · · Score: 1

    C is just mutilated B anyway. B was also lightning fast, and it was much smaller than C at that (no need to mess with types - you deal with machine words, and context defines whether it's a number or a pointer etc). Why not go back to that?

  115. Re:OMFG!! PLEASE!!!!! by Anonymous Coward · · Score: 0

    > B was also lightning fast

    Actually, IIRC Ritchie said in his History of C that part of his motivation was to overcome the slowness of B when they moved to the PDP-11 from the PDP-7. He wanted it to be "fast enough to compete with assembly."

  116. Re: It Sucks , they should use Java by countach · · Score: 1

    Really. What language is pure OO in your estimation, and why is that good? And what is this crappy Java database format you're talking about?

  117. Pretty nice, but.. by countach · · Score: 1

    Took a look at Julia. Seems like a really nice language. BUT... every time I see a new language I can't help but think every new language is doomed to reinvent Lisp, but badly. Other than the typical hatred of prefix notation, what does Julia hope to give me over Lisp or Scheme?

  118. Terrible design by Anonymous Coward · · Score: 0

    All our engineers agree, Julia is a terrible language and it wont be used for anything at the company.

    That pretty much kils the language in my mind, when engineers don't want to use it.

    1. Re: Terrible design by Anonymous Coward · · Score: 0

      You just have terrible engineers who probably never heard of MATLAB. They probably think it is a Java or Ruby replacement.