That may be a view through the distorted HN lenses. Spend some time on Lambda the Ultimate and you'll think imperative programming is dying. Go is new and has lots of issues. It's annoying on many fronts and badly needs improvements in packaging area. It's good for some things and worse for others. JS is for frontend, because it's the only supported language. (although there are python-to-js compilers available if yo…
When people say dying, they never mean it's just going to disappear. The hit-and-run on Go being a new 7 year old language seems unfair. It has great performance and has proven itself in production. There's a lot more competition for computer languages. It might end up like Perl. More people use Perl today than 15 years ago but its importance has waned. You really haven't addressed the issue. You simply did that danc…
Ask HN: Is Python dying?
311–320 of 369 posts
Re: Ask HN: Is Python dying?
#312Earlier quoted context omitted.
Actually that's probably not accurate now that I think about it. Python is mostly used by quants and people figuring out what trades to make, as well as for some of the internal business tools. Whereas the people building the actual exchanges are probably using Java or C++.
"Finance" is such a broad term with respect to IT - you'll find anything if you look hard enough. The following is based on my experience only - I'm sure there will be lots on here with different experiences: * I've seen more C++/Java/C# than anything else, with a large legacy base of COBOL/RPG (yes, GMI, we're looking at you...). * Industrial-grade quant libs (for risk, P&L, models that need regulatory approval) ten…
Re: Ask HN: Is Python dying?
#313Earlier quoted context omitted.
Object-oriented languages are Dead Men Walking due to the problem of global mutable state management in any medium- to large-sized codebase, coupled with dependency/inheritance hell, leading to complexity hell, leading to geometric progression of tech debt. Compounding this is the lack of good unit test suites across the board, meaning that even if you write absolutely perfectly tested and maintainable Python (or Rub…
Yeah they will still probably be labeled as dead man walking for the next 20 years long after your FP langue de jour will have outlasted it's pristine days and got damned to hell by the devs having to maintain the programs written in it. Don't get me wrong if you are currently doing consultancy business for a niche FP language far for me to blow the wistle to companies that instead of paying your fees and hefty salar…
http://gamasutra.com/view/news/169296/Indepth_Functional_pro...
"My pragmatic summary: A large fraction of the flaws in software development are due to programmers not fully understanding all the possible states their code may execute in. In a multithreaded environment, the lack of understanding and the resulting problems are greatly amplified, almost to the point of panic if you are paying attention. Programming in a functional style makes the state presented to your code explicit, which makes it much easier to reason about, and, in a completely pure system, makes thread race conditions impossible."
Re: Ask HN: Is Python dying?
#314Earlier quoted context omitted.
Object-oriented languages are Dead Men Walking due to the problem of global mutable state management in any medium- to large-sized codebase, coupled with dependency/inheritance hell, leading to complexity hell, leading to geometric progression of tech debt. Compounding this is the lack of good unit test suites across the board, meaning that even if you write absolutely perfectly tested and maintainable Python (or Rub…
You mean all those FP languages that happen to support OOP as well? Lisp, Clojure - CLOS OCaml - The O is for Objective, e.g. Objects Scala, F# - Hybrid FP/OOP Haskell - Type classes support polymorphism and extensibility. Erlang - Message passing as envisioned by Smalltalk So what are FP languages that have zero support for OOP concepts and are on the rise?
Opinion aside, it's still true that some classes of algorithms are still too slow in FP and benefit from procedural mutation of state. But those should be managed very carefully as they destroy concurrency. I linked it elsewhere here but I think John Carmack's comments on this are quite lucid, and he is merely talking about using a functional style within OO languages: http://gamasutra.com/view/news/169296/Indepth_Functional_pro...
The thing is, 16-core CPU's are coming out soon, and we still have 99% of software that cannot take advantage of that well, at least within a single process.
One clarification
> Erlang - Message passing as envisioned by Smalltalk
Smalltalk, despite being called an "OO" language, did not come up with the gigantic class inheritance chains which have been attributed to OO.
Re: Ask HN: Is Python dying?
#315Re: Ask HN: Is Python dying?
#316Earlier quoted context omitted.
Yeah they will still probably be labeled as dead man walking for the next 20 years long after your FP langue de jour will have outlasted it's pristine days and got damned to hell by the devs having to maintain the programs written in it. Don't get me wrong if you are currently doing consultancy business for a niche FP language far for me to blow the wistle to companies that instead of paying your fees and hefty salar…
If you're working a problem capable of being solved by two $10/mo DO VMs, you're working a problem that can be solved in /any/ language.
My thinking is that if you are so popular you can afford maybe to start 20 more 5$ instances. And really I find it hard to think of problems that cannot be solved with 20 x 5$ DO VMs at least in Java.
Re: Ask HN: Is Python dying?
#317Earlier quoted context omitted.
The questions is why would I do that? Because Julia is new?
Well, what do you work on? Julia isn't for everyone. I use it because it has quite good numerical primitives, and I can quickly make a slow, Python-like first pass at an algorithm, then profile and get C-like performance in the bottlenecks with minimal effort. And if I need a particular library, I can call Python's. Also: macros and multiple dispatch make a big expressiveness difference for my type of work.
Re: Ask HN: Is Python dying?
#318I've only been using Python for 2 months now. I'm coming from a Ruby, Java, Node background. The things I don't understand about Python and what I miss the most from those other languages is a solid tool chain. From package management down to the test runners. I miss Ruby gems, Bundler, Rack, and Gaurd tools. I miss Maven and the plethora of plugins. I miss NPM. Pip is just OK. It feels like it's missing something. C…
Have you ever actually used Ruby?
Here's what FizzBuzz looks like in Python:
def fizz_buzz(number):
if number%3 == 0:
return "fizz"
if number%5 == 0:
return "buzz"
return str(number)
for num in range(1,101):
print(fizz_buzz(num))
Compare that to the hideous mess of fizz buzz in Ruby [1] -- there's a lot of magic going on there. Many unfamiliar operators, line #2 is a magic string interpolation thing with tons of weird escaping going on (the #{} seems to be some kind of template which makes stuff inside the "" string actually be interpreted as code which itself contains '' strings, and I don't want to think about the potential injection vectors that could be introduced by this), the ternary operator, absolute value bars, an anonymous function, and defining a function by binding an anonymous function created with -> function call syntax to a name.People on HN keep saying Ruby is intuitive and easy to learn -- no it isn't. The Python code by contrast is basically the same as the pseudo code you would write on a napkin in "not-any-particular-language-I-just-want-to-describe-an-algorithm-without-language-specific-issues-to-get-in-my-way".
[1] http://hostiledeveloper.com/2014/04/26/on-why-learning-to-pr...
Re: Ask HN: Is Python dying?
#319Earlier quoted context omitted.
Well, what do you work on? Julia isn't for everyone. I use it because it has quite good numerical primitives, and I can quickly make a slow, Python-like first pass at an algorithm, then profile and get C-like performance in the bottlenecks with minimal effort. And if I need a particular library, I can call Python's. Also: macros and multiple dispatch make a big expressiveness difference for my type of work.
Lifetime values, customer segmentation, lead scoring, customer life cycles, customer attrition and also quite a bit of reporting. Some text analysis. I use R because it offers superb speed of development, extensive documentation, commercial support and many partner opportunities with the likes of Oracle, Microsoft, Alteryx, Tableau, Tibco and pretty much every analytics vendor. In my experience, R's slowness has been…
Re: Ask HN: Is Python dying?
#320I've only been using Python for 2 months now. I'm coming from a Ruby, Java, Node background. The things I don't understand about Python and what I miss the most from those other languages is a solid tool chain. From package management down to the test runners. I miss Ruby gems, Bundler, Rack, and Gaurd tools. I miss Maven and the plethora of plugins. I miss NPM. Pip is just OK. It feels like it's missing something. C…
> Ruby allows for nicer looking code and readability Have you ever actually used Ruby? Here's what FizzBuzz looks like in Python: def fizz_buzz(number): if number%3 == 0: return "fizz" if number%5 == 0: return "buzz" return str(number) for num in range(1,101): print(fizz_buzz(num)) Compare that to the hideous mess of fizz buzz in Ruby [1] -- there's a lot of magic going on there. Many unfamiliar operators, line #2 is…
def fizz_buzz(number)
if number%3 == 0 then
return "fizz"
end
if number%5 == 0 then
return "buzz"
end
return number
end
for num in 1.upto(100) do
puts(fizz_buzz(num))
end
Don't mistake someone fannying about with code-golfing for the language itself.(Also your code is wrong - it never prints "fizzbuzz" which it should for 15, 30, 45, etc.)