5 ms·
This is just a facet of a bigger issue: how come when you want a dynamically typed, scripting language you have plenty of choice but when you want an alternativ
by jergosh 15y ago
This is just a facet of a bigger issue: how come when you want a dynamically typed, scripting language you have plenty of choice but when you want an alternative to C/C++ (i. e. general purpose, compiled to actual machine code -- no VM, no GC), there is hardly anything (Fortran anyone?) If you add 'object-oriented,' you're pretty much left with C++ and, um, OCaml? Even when you want a functional programming language (still semi-esoteric in my book), you have more to choose from.
- leon_ 15y agoI bet there are many static typed, compiled languages. But they never get any traction because they are not "sexy" like the newest hyped dynamic language. There are many devs who don't care for static typing - they just want to hack their backend in a weekend and be done. Those devs seem to be the vocal ones with blogs and social media power users behind them. Look at Python. Python is over 20 years old. It has been here since before Windows 95 but only got prominent (in the broad public) in the last few years because some opinion leaders of the hip and young crowd found out you could make cool web apps with it and hyped it into oblivion. I bet if Go hadn't the names behind it it wouldn't get any more traction than any other of the gazillions of programming languages that die silently. I guess not many home brew languages get talking time at a Google conference. Let's be just happy that Go seems to get a little popular - maybe it will be enough for a break through. I'd love that.
- deleted 15y ago[deleted]
- jergosh 15y agoPython is too good a language not to have made it. Google endorsement helped a lot, but they chose it because it's great.
- kamaal 15y agoNot true, I remember a few years back being a major Perl shop. The advice from senior guy in the hierarchy to use Python was 'If Google is using it, it must be good'. And I know whole bunch of people around me in many projects used it just because of Google. Every tool has its own merit Python is nothing special in this regard. Python's low barrier to entry has invited many newbie's to pick it up in a day or two and get going with solving problems. But it has its own flaws and isn't that great as often people project it to be. My own experience with Python, after being a heavy Perl and Ruby user isn't that good. Especially if you are coming from a language like Perl, Python as a language has an interesting trend. At first you feel very happy that things are so simple with it. Then slowly once you learn the language and start getting deeper into it, you try to use it for day to day work. Suddenly you realize that text processing sucks badly, something that is very big problem on Unix based environments. Writing a single regex takes a 10's of lines of exception handling. You try to use it for quick dirty scripting, again the language runs out of steam very soon. Its just too verbose for scripting class. Now coming to more important reasons. Sacrificing power for readability might be great for newbie's but isn't good experienced programmers. Lack of multiline lambda's, no good support for TOC, GIL, barely there object system(compared to Moose), lack of extensibility, lack of syntax plugins. Forcing one way of doing things, all this is great hindrance if one wants to climb upper steps in the ladder of programming. And above all lack of thing like CPAN is just something more than sufficient reason above everything else. I left Python for Perl, but had to go back again. Python wasn't just serving the need for day to day quick scripting. Which I often need to do twice or thrice a day. Text is uneliminable part of large IT projects. Tools like Perl, sed , awk help me do my job quickly everyday. Slowly I realized if I'm using Perl every 50 minutes, I might as well use it for long term projects. On the other hand, Best practices matter for every project. You can writeable and un maintainable code both in any language. We are back to being a Perl shop again. And its the best decision we have made.
- deleted 15y ago[deleted]
- jergosh 15y agoIncidentally, I'm working on a language comparison which includes Perl and Python and I would be interested to see how Perl string handling is superior. Did you mean speed or syntax or both? I always thought that the Perl way is quite friendly if you have Unix background, but since Python does everything by function calls it's also fine. As for exception handling, I guess it'll always be shorter in Perl since it doesn't really support exceptions...
- dkarl 15y agoPython is over 20 years old. It has been here since before Windows 95 but only got prominent (in the broad public) in the last few years because some opinion leaders of the hip and young crowd found out you could make cool web apps with it and hyped it into oblivion. Hmm, I thought it became popular for scientific applications and as an anti-Perl for scripting before it became popular for web apps? I first got into Python because I needed a scripting language. People said, "If you don't like the design philosophy of Perl, then you might like Python, which made the opposite choices." The centerpiece of Python advocacy back in the day was this article by Eric Raymond: http://www.linuxjournal.com/article/3882 http://www.linuxjournal.com/article/3882 I know that's the article that convinced me to try Python. Everything he praised about Python screamed "opposite of Perl!" and after experiencing my mind rejecting Perl like a body rejecting a transplanted organ, I was desperate for an alternative that would make me as productive at scripting as the Perl gurus. (Yes, I'm still jealous of the one-liners.) So there is certainly room for a language to grow and become popular without having a first-class web framework. (These days any popular language will sprout a few web frameworks, but they don't have to become popular for the language to succeed.)
- Splines 15y agoAlso IMO the ActiveState did alot to make perl & Python popular. Only in the last 10 years or so did ActivePython become really useful. In the last 90's it seemed (in my mind, at least) to play second fiddle to ActivePerl.
- dimatura 15y agoA couple of other alternatives to C and C++ are D, D2, OOC and Cyclone. In a more functional vein, BitC and Fortress. There are also a few interesting languages that compile to C, like Vala (C#-like), Cython (Python-like), Lush (Lisp-like), Chicken (Scheme-like).
- jergosh 15y agoLisp never became mainstream and if it hasn't succeeded up to now, it most likely never will. D & co. didn't make it either and things aren't going to improve for them. Great point about Cython though, and thanks for the Vala pointer, I wasn't aware of it.
- MatthewPhillips 15y agoVala is really nice. I wish I did more non-web programming, I would probably use it all the time.
- baq 15y agolisp was pretty successful in the time before many HNers were born. it wasn't a smashing success, but it was in much better shape than now.
- pcwalton 15y agoI'm biased, of course, because I work on Rust full-time, but don't forget Rust: https://github.com/graydon/rust https://github.com/graydon/rust We recently reached self-hosting status, in which we compiled Rust with itself, and over the past few weeks we've been working on making the compiler much faster (over 7x in fact).
- dimatura 15y agoI did actually think of Rust, but after looking at the website I got the impression it was still very alpha. I'm all for competition, it's cool to see it's in active development.
- kamaal 15y agoIts a little difficult to beat 'Ideas done right, first time'. For the very same reason it will be difficult to replace Lisp(grouping all its flavors here), Perl(CPAN, power, flexibility, freedom, rapid prototyping, extensibility, help, documentation, support, regexes-text processing), C, Unix etc. Despite their inherent flaws they haven't gone away, no matter how attractive alternatives exist. Because they solve certain set of problems so well, you just can't do without them. Even tools like sed and awk have their own niches and uses, and replacing them with something else is just isn't going to happen.
- sien 15y agoPascal and related languages that include various flavours of object Pascal like Delphi and other languages like Modula-2 and Ada are there. There were probably a bunch of them in the late 1980s. The thing is for this kind of language C/C++ won. None of the others offers any substantial advantages over C/C++ so that's what stuck. C for systems programming and C++ for applications programming could well be the default 20 years into the future just as they were 20 years in the past.