|
|
|
|
|
by jdiscar
3673 days ago
|
|
It's really up to what kind of project you want to work on and how much resources (time/effort/stress/money/etc..) you want to put into it. The learning curve for something new is definitely not negligible, especially as you get deep into your project. Newer languages/frameworks look great when you run through tutorials, but you're going to have issues once you need to do more complicated stuff. Very new frameworks are unlikely to have much documentation and discussions, which means that at some point, you're probably going to need cross your fingers and hope someone replies to your questions or dig into source code yourself. There's nothing wrong with this, it's just the cost of using something that isn't old and popular. Maintainability for large projects and bad performance are an issue in whatever language or framework you use. A lot of the problems are avoidable once you move past relying on the magic of your web framework and understand how all the stuff you're using works under the covers. After playing with a few languages and frameworks, I'd say it's really useful to just choose one to become an expert in. Being an expert in one and knowing how to mitigate all the warts will help you infinitely when you do eventually move to something new. I think it's much more valuable to be an expert in one stack and intermediate in two than to be intermediate in 20 stacks. If you have something you really want to build and are already comfortable with Java, I'd suggest just sticking with Java. Newer frameworks like SpringBoot or Play! remove a lot of the XML, if that's your primary complaint. Verbosity... well, every language is going to have something that doesn't match your personal aesthetics. A lot of the really verbose Java can be avoided by changing up your coding style. If you're just going for self-enrichment, sticking with an FP until you're comfortable with it is great. Just be aware that you may never use the language/framework as an employee. But you'll definitely get huge benefits in your overall skills by learning an FP. |
|
I think this might be a bit of a benefit. I've been messing around with clojure/clojurescript in my free time and playing with a lot of libraries that while reliable are certainly less documented than say Rails or Django. It's actually been a really positive experience since it does force you to either dig through all the relevant source code or go have conversations with members of the language's community. Going to the source is just good exercise and also helps avoid the feeling of encountering magic. Talking with other developers using or making the libraries I've found I end up having more conversations about how things should or could be done (and why). At work or when talking about older stacks there is usually a Right Way(tm) that has been found and accepted and so the why or [sh|c]ould conversations have already been had and are academic at best and crying over spilt milk at worst.