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).

211 of 386 comments (clear)

  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 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
    2. 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 ?
    3. 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. Let's make something to meet everyone's use cases! by kalpol · · Score: 3, Insightful
    --
    12:50 - press return.
  4. 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 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.

    3. 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.
    4. 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)

    5. 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)
    6. 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.

    7. 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.

  5. 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 Desler · · Score: 2

      it follows Ruby syntax

      That's supposed to be a selling point?

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

      Philistine.

      Best language: machine code.
      Best editor: ed.

    3. 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.

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

      Would you rather that white space had syntactic significance?

      False dillemma. I choose neither.

    5. 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.

    6. 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?

    7. 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,

    8. 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.

    9. 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.

    10. 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.

    11. 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

    12. 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.

    13. 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.

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

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

    15. 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)
    16. 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."
    17. 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).

    18. 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.

    19. 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.

    20. 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.

  6. 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 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. . . .
    4. 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.
    5. 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!
    6. 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.
    7. 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.

    8. 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.
    9. 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. . . .
    10. 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.

    11. 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.

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

      XOR (A , B)

    13. 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

    14. 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.

    15. 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.

    16. 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.

    17. 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.

    18. 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.

    19. 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.
  7. To quote Julia (Child)... by The+Original+CDR · · Score: 3, Funny

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

  8. 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 mark-t · · Score: 1

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

    5. 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.
    6. 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.
    7. 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.

    8. 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.

    9. 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?
    10. 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?

    11. 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."
    12. Re:Full unicode variable names are a mistake by Dog-Cow · · Score: 1

      Why are you a bigot?

    13. 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.

    14. 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.

  9. 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
  10. 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.
  11. Re:Julia? by fibonacci8 · · Score: 4, Insightful

    I z^2+c what you did there.

    --
    Inheritance is the sincerest form of nepotism.
  12. 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.

  13. 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 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 ?
    2. 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
    3. 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!
    4. 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.
    5. 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. . . .
    6. 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
    7. 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
    8. Re:Okay. Let's do this ... by ooo00ooo · · Score: 1

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

  14. 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.

  15. 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 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.

    2. 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.
    3. 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

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

    ..are you having a day off?

    --

    Donte Alistair Anderson Roberts - hi son!
    Karma: Chameleon

  17. 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

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

    Comment removed based on user account deletion

  19. 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 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."
    2. 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)

    3. 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.

    4. 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
      /)
    5. 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.

    6. 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."
    7. 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.

  20. 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 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."
    2. 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.

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

      Sorry, that was Fortran to C translators.

    4. 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

    5. 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.

    6. 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."
    7. 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."
    8. 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

    9. 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.

    10. 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."
    11. 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."
    12. 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. 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?
  22. 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.

  23. 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 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.

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

    No, there was definitely some subtle complexity to it.

  25. 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 ]
  26. 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.

  27. 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.

  28. 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 ]
  29. 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.

  30. 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
  31. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  32. 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.

  33. 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

  34. 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?

  35. 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...

  36. 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.

  37. 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.

  38. 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 TimMD909 · · Score: 1

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

  39. 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
  40. 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#.

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

    Nearly seamless multitasking over an entire network.

    --
    https://www.youtube.com/c/BrendaEM
  42. 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.

  43. 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.

  44. 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.

  45. 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.

  46. 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 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.
    11. 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.

    12. 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

  47. ...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 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.

  48. 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.
  49. Yawn... by QuietLagoon · · Score: 1

    Yet another programming language that promises to do it all.

  50. 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.

  51. 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.
  52. 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.
  53. 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

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

    That should say BSD package system.

  55. 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
  56. 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
  57. 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.

  58. 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.

  59. 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

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

    nonono. its Juria.

  61. 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!

  62. 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.

  63. Re: Trump's the next big prisoner by Tyger-ZA · · Score: 1

    âoelock her upâ

    Is that Finish?

    No, it's iPhonish.

  64. 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!
  65. 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.

  66. 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.

  67. 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!
  68. 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!
  69. 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!
  70. Re:Pascal by DontBeAMoran · · Score: 1

    I sincerely hope you meant Turbo-Pascal, you heretic!

    --
    #DeleteFacebook
  71. 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.

  72. 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)
  73. 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)
  74. 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)
  75. 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)
  76. 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)
  77. 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)
  78. 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)
  79. 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.

  80. 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.

  81. 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?'
  82. 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.

  83. 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?

  84. 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?

  85. 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?