I've been programming for sometime, and have been part of both large and small code bases. This could just be me personally, but the larger the code base the more suffocating Java as a platform becomes. There are too many constrains in the way you should program and innately the platform is as much responsible as programmer for causing this suffocation. I thought programming was a tool to liberate onself and derive ideas doesn't seem to be the case for platforms like this.
What do you prefer? Do NOT answer Ruby :-)
Erlang seems to interest me more nowadays
Lol. Grass is always greener on the other side, my friend.
I actually find the opposite to be true: Java is way too flexible, so every codebase ends up being very different from others and it’s difficult to become fully engaged in a project: one makes heavy use of streams, another is full of functional interfaces, another one is all about 10 levels of abstract factories, another one does dependency injection with crazy frameworks. I like programming languages that force a single idiomatic way, down to the code formatting: hence I like Go. Even if it sucks at many aspects (error management, ...), at least is very consistent and you can spend your time getting stuff done.
I feel like you’re talking about Java frameworks. The most “suffocating” framework that I have worked on is Oracle ADF. It’s like another layer of abstraction over the already complex J2EE. It’s a weird mashup of Core Java, Beans, Groovy, JavaScript and SQL. I’m glad those days are behind me. However, some of my friends had to work for a few projects in Lotus Notes Domino. That was at another level of weird.
You got that right. I am speaking against those framework. It feels like the frameworks were more/less a mechanism to hide the language flaws. It definitely a badly designed language. But as a platform it's very very modular.
I just joined a new company that’s running a huge JavaScript project. I’m coming from java and JavaScript just feels so out of control. Seems like there’s 10 ways to do anything and nothing is well documented. Typescript helps a little, but the lack of focus makes me feel very lost.
JavaScript is a world of its own. There are no proper guiding principle driving the language philosophy. I believe, language should be built by individuals (who are principally very aligned) take Python for eg. It's beautiful in its approach.
I personally find it difficult to work with loosely typed language like js. Did you guys find it difficult too?
Having experience with Java, Visual C#, VB and others, I would agree with your assessment. On the other hand, Visual C# offers a bit more flexibility and development tools that simply do not exist on a pure Java base. If you can avoid Java, your job satisfaction level might improve.
So very true!! Can you please help the Oracle guy above, he doesn't really seem to understand this problem?
Have you seen the monolithic shit without DI? I’d rather blow my brains out than maintain and be responsible for a massive pile of 💩 spaghetti code. Large java systems are unmaintainable without using a framework like Spring and careful designed architecture. That’s why it’s only grown in popularity for the past 18-ish years. DI for the sake of DI is the wrong approach of course. It can go horribly wrong as well.
Spring security is even crazier. Fucking never works. And no easy tutorials or docs. Frigging ancient crap disguised as some modern module of spring
Programming is a tool to liberate oneself- where did you get this idea? And what language does liberate one?
Typical Oracle mentality..
Ruby or rails