5 ms·
> And pick a language with a welcoming but passionate community that can give your feedback on your code. Any recommendations? The PHP community (where my comm
by porker 11y ago
> And pick a language with a welcoming but passionate community that can give your feedback on your code.
Any recommendations? The PHP community (where my commercial work is done) is not that. And far too fad driven.
> And when it comes to your money earning work don't discount the Just Works outcome.
You're not the first person to say that to me. I should start listening!
> Having an outlet to write more elegant stuff in your spare time can be a valuable sanity saver.
Agree - if I despise what I write every day, it wears me down. I haven't worked on anything fun (or open source) for years, focusing on making money.
Thanks mate!
- imakesnowflakes 11y ago>The PHP community (where my commercial work is done) is not that. And far too fad driven. If you have the insight to recognize this, I think you are doing fine. I would recommend Python as it's community seems to be a bit better. It sure is not as 'design pattern' infested. If you have a lot of time to spare and tenacious enough, you can also try Haskell. Although you should not feel disheartened about not understanding 90% of things being said in the irc chat room even after wrestling half year with the language. But I think it is worth giving a shot. I have already ported my side project which was in PHP to Haskell using a framework called Spock and PostgreSQL as backend.. Also, I think the php thing might be causing you this conflict. As I myself have gone through a similar stage. (8 years of professional PHP experience). When I started python 3 and after a while I unlearned certain things from PHP. Things became quite a lot simple. For example, this is the same static site generator I wrote in PHP and Python3. PHP - https://bitbucket.org/sras/vodka https://bitbucket.org/sras/vodka Python - https://bitbucket.org/sras/feni https://bitbucket.org/sras/feni Writing a bit complex stuff using PHP is so damn tiring, but it only became clear that the problem was PHP after I started programming in Python and unlearned enough PHP stuff...
- zaphar 11y agoIt's hard to say without knowing what's already in your current toolbox. But a partial list might be: * Erlang - Novel approaches to fault tolerant system design. Fail fast and recover somewhere else. Functional without the Type wizardry so you learn about immutability, pattern matching, and the typical functional language tools like folds, maps and so on. * Clojure - A lisp that runs on the JVM. Learn about Code as data and how that empowers meta-programming. Also a functional language with interesting takes on how to share data in an immutable by default world. Lazy collections of a sort so you can learn about laziness. * Haskell - Don't let the Category theory stuff scare you. Very interesting type system that can open your eyes to new ways to abstract things. Speaking of abstraction Haskell takes abstraction to a whole other level. Sometimes you can't see the program for all the abstraction going on. Militantly functional. * Forth - Stack based programming, very small and compact. Radically different than anything else. * Rust - Maybe you want to go a little bit closer to the metal for a change? Forces you to think about exactly how you share data in a multithreaded world. Targets the same world as C++ but perhaps with an easier to enter community. * Python - Cleaner more elegant language in the same family as PHP with a very welcoming community. Batteries included so it's easier to get started than any of the others. * Go - Concurrency done right. Lots of tooling builtin to the distribution toolchain.
- porker 11y agoNice list, and overlaps a lot with my "Languages to try one day" Post-it note (though I have Elixir instead of Erlang). And I'd never heard of Forth - amazing what I learn! My current toolbox is: Professional level: PHP, databases, frontend development (but haven't picked a JS framework due to choice paralysis) Experience of: C, Python, Matlab, Fortran77, Prolog (my favourite, most mind-bending experience yet. Magic!) I tried learning about monads recently. https://www.youtube.com/watch?v=UvD1VjRvGIk https://www.youtube.com/watch?v=UvD1VjRvGIk made sense (I was nodding my way through) but I kinda missed what a monad was - this just seemed common sense that my languages didn't allow :) Thanks, you've inspired me to play.