johntdaly
Joined 9 years ago
Joined 9 years ago
2) you need to run “scripts” but don’t like the hassle of lugging around the dependencies so you go for binaries instead
3) you work on green field cloud projects that run in/on kubernetes
4) you have a team of people that try to use every feature of a language regardless of it it is sensible and need a language that limits them
5) you need to be able to program something that can run in parallel that you can wrap your mind around
That said, I don’t use golang. If you have a hypothetical use for a language you wont get into it, you need a practical use where it makes sense or you will most likely use your preexisting tools because its more comfortable.
I’ve worked on trying to predict our income based on our contracts and because of a couple of sales people a lot of the contracts where basically inscrutable, we brought two different experts in to “fix” my “failing” just for them to give up and do what I did and predict future income based on billing rather that contracts. That made us less interesting to the more risk shy European investors. It didn’t help that we abused a system that was designed to run an IT shop with because that is what the company started at years earlier.
The other thing is that until you make about 25 million revenue a year nobody is interested in you. To risky, not enough early investment and companies are money strapped. At that point a lot of the companies that come in don’t come in to invest but to buy up the company and those companies are usually American. If you do get investors and those investors are Europeans they are often Vulture investors that prop the company up, make it more presentable and just sell it on to the next investor. In one lucky case the IT startup was bought up by a European company that wasn’t in IT and saw the investment as a way to future proof itself.
The investment for startups and in particular IT startups in Europe is very broken and the companies that benefit from it are often American. It is getting better but I think the US can still snap up European companies for its own growth for the next 10 to 20 years.
Some people just aren’t good programmers. I knew some of those, one turned out to be great at testing instead. Junior programmers, new programmers (to the project/company or language or field) are slow and they might get better. Then you have burnout. There was a story here about a guy that didn’t contribute much because he mentored and pair programmed and did other tasks to make the life of other programmers easy.
There are a lot of good reasons so before you go optimizing on numbers, check the why.
The syntax is more elegant. Well yes, but that’s also subjective. Also, the argument doesn’t help LISP to be more popular either.
The indentation argument is old and in my opinion hypocritical (yaml, sass, haml). Also, not getting code you copy and paste from the net to work because of syntax errors based on indentation is the least of the problems in copy and pasting code from the internet.
Selling the larger and more diverse library ecosystem of Python as an advantage for Ruby rather funny. Ruby has good libraries for the web and enough for *NIX scripting but I do wish we had some more stuff to keep up with Python when it comes to math, scientific computing and ML.
I have more fun writing Ruby and that is one of the main reasons I use it. And I think it is an easy enough programming language for a somewhat experienced programmer to pick up. DSLs, meta programming and some other advanced concepts are easy enough to pick up in Ruby and you can figure out the pros and cons for your self quickly. We still have a tradition of fun and quirky projects being done in Ruby. There is a gem to create your own card games and a video on YouTube about somebody building an agi upscaler, that code is in ruby.
My sales pitch would be: “Come join us, we are fun and a bit weird, just like our language. We are also fun at parties!”
Since then I’ve returned to Python for some projects and I find that Python made me better at Ruby and Ruby made me better at Python. JavaScript, Ruby and Python are my main goto languages for scripting and web programming and I think Ruby is getting the short end of the three languages. It deserves better and I think more people, especially web developers and people that need a *NIX scripting language should give it a try.
What I don’t really understand is that we (Ruby programmers) still use indentation for block definition as a reason against Python. Especially since yaml, haml and sass are technologies we helped build and popularize and they are all indentation based. I still agree that Python is the less elegant and more importantly the less fun language.