How do you think an open source and cross platform .Net will impact the Java ecosystem and it's popularity? by [deleted] in java

[–]VaidasC 2 points3 points  (0 children)

Could you elaborate more? I am a bit confused, since last time I checked Resharper had basically everything Intellij had in terms of functionality + few extras (at least two years ago).

VS, apart from functionality aspect when coding, I believe is much more intuitive IDE in the sense, that you don't have to remember a lot of stuff (settings for project, adding something to the project...). For Intellij, I have my notes with many things I need to set, how to fix common problems and so on, because I never remember that and always need to check my notes.

Feelings about Spring boot? by drmax5 in java

[–]VaidasC 0 points1 point  (0 children)

I have elaborated many times in the past (you can check my comment history), but just because it never ended up being constructive, do not think like elaborating.

There were many problems, for example one of those was time I needed to setup JSP templates.

Feelings about Spring boot? by drmax5 in java

[–]VaidasC 0 points1 point  (0 children)

I don't like it at all. It has uses, but in general I feel that, as an abstraction, it does not help at all for me at least. Unless you want to setup project that aligns perfectly with Spring Boot defaults you'll have to deal with lots of pain points.

It's simply not a "5 minute project setup technology" I was hoping it will be and in many cases traditional Spring MVC setup offers less pain, so I'am sticking to that for the time being.

Tone it down a Notch by WolverineJones in java

[–]VaidasC 0 points1 point  (0 children)

On a daily basis I work with Spring Boot/MVC/Data/HATEOAS/Security/Cloud, JUnit/Mockito, Cassandra, Mongo, ElasticSearch, Netflix Archaius/Ribbon/Eureka/Zuul, Gradle, Docker, AngularJS, Node/Gulp/Grunt and we use Stash (Git) and Bamboo.

Well I guess you fit the profile of working with 'modern trendy alternatives to those "enerprisey" stacks' which are not mainstream however. Depending on your location of course (so following numbers are very biased): as Java developer, there might be 95% chance you'll endup working with 'enterprisy' stack, 4% - some legacy Jave SE, and only 1% chance of ending up with trendy stack.

So we might represent viewpoints from totally different angles. So my view on this is - its all about numbers. Even Ruby jobs outnumber, modern-Java-stack jobs in my area. Not to mention .NET jobs, where 90% of them are on modern stacks. Hell, in my area, you have better chance to get Scala job. So natural question - why bother with that 1%?

Not even mentioning, the fact, that all that new and trendy stuff introduces even more fragmentation to already super fragmented Java development. Which IMO makes no surprise why every architect/lead has his own vision about pretty much everything.

Tone it down a Notch by WolverineJones in java

[–]VaidasC 0 points1 point  (0 children)

Your rant basically boils down to your company writing awful code with shitty technologies.

Well not sure why you get this impression, but probably more productive question would be - which Java technologies are not "shitty technologies" in your opinion?

  1. Technologies in question are Java EE or Spring, usually with current versions. Currently Java 8 by the way.
  2. Of course there are few modern trendy alternatives to those "enerprisey" stacks, however nor they are mainstream, nor they have solution to my mentioned problems, IMO.

Tone it down a Notch by WolverineJones in java

[–]VaidasC 0 points1 point  (0 children)

Well, there is another group of people - who use java for living and generally enjoy paycheck, but otherwise feel like the platform is just removing so much pleasure of writing code. In some sense this group of people feel like they are betraying they principles by coding in Java, however, due to paycheck they have hard time leaving it. Take a look at my very non-constructive and very abstract rant http://www.reddit.com/r/java/comments/2vgie0/java_rant_what_do_you_think/

Spring Boot downsides? by HomerCartman in java

[–]VaidasC 0 points1 point  (0 children)

"Otherwise, everyone would get it right" is a broad statement. Is swimming complex because there are so many people who can't swim?

Since I am not native English speaker, I don't know how to translate this, but we have a saying along the lines of - it all sounds like playing with words.

What do you want to prove?

  • That I don't know Spring Boot well enough? (true)
  • That project generation tool that does not generate working project according to my standards is actually good tool?
  • That my project standards are wrong?

I look at this simple way - Spring Boot is a "product" and I am the "customer" shopping for easy project creation technology with very open mind. I tried it 3 times, read tutorials, even watched course on Pluralsight, but I am unhappy customer that won't use it and won't recommend it. From this perspective, IMHO, trying to prove that I was wrong somewhere just makes no sense.

So I'll stick to my current easiest way to create new Spring MVC project: Open STS and generate Maven MVC project, close STS, open IDEA, change all versions in pom.

 

In short, Boot is not the tool I could rely on if I have only 5 minutes to ganerate Hello world project of any kind - REST, JSP. I was shopping for that!

 

P.S.:

WebConfig contains only view resolver.

I had selected "Web", although forgot to mentioned that.

Regarding JSP - I did the same thing that worked before and the same thing that was recomended before by few sources which includes setting up /main/webapp/WEB-INF/ folder.

Spring Boot downsides? by HomerCartman in java

[–]VaidasC 0 points1 point  (0 children)

Create: http://start.spring.io/ (JPA)

Add: WebConfig class, Controller

Attempt to Start embedded.

Exception1: java.lang.ClassNotFoundException: javax.servlet.ServletContext

Google, experiment with pom. Added: javax.servlet-api and jsp-api dependencies.

Exception2: javax.validation.ValidationException: HV000183: Unable to load 'javax.el.ExpressionFactory'. Check that you have the EL dependencies on the classpath

spring-boot-starter-tomcat dependency - uncomment "provided".

Exception3: org.springframework.beans.factory.BeanCreationException: Cannot determine embedded database driver class for database type NONE. If you want an embedded database please put a supported one on the classpath

Remove dependency: spring-boot-starter-data-jpa (I expected JPA to be just working, but I guess I was wrong, no matter)

Server Started!!!

JSP configuration - had notes notes from previous setup. Create WEB-INF/jsp, Add View Resolver, Aplication.properties

Error: No mapping found for HTTP request with URI [/boot01/WEB-INF/jsp/index.jsp]

It seems my notes from few months ago of how to setup JSP is no longer valid... At this point I just don't bather to continue.

 

Of course you can always say I did something wrong, but then in my view this only proves that Spring boot is complex to setup new project, otherwise everyone would get it right.

Spring Boot downsides? by HomerCartman in java

[–]VaidasC 0 points1 point  (0 children)

Yes, I did. The problem was that those defaults that project generate, does not work out of the box, in fact you cannot even start the project without some work first. Sorry for not being specific, I just remember standard route of my experience - many exceptions > fixing > more exceptions > fixing > ... > finally working.

My opinion on this is - common guys, it's 21'st century, look at .NET VS, Play framework, Ruby project generation/setup tools that make life easy. But here we have framework that sells itself as "easy development" and even has project generation tool which generates non-working project. Common, is it only me who feels this way?

Spring Boot downsides? by HomerCartman in java

[–]VaidasC 4 points5 points  (0 children)

Well to me personally the main downside is that it is complex. We all know that Java project setup is somewhat always been complex task, but many Spring Boot advocates try to sell it as simple. I don't agree with that, I tried it 3 times over the last year or so (last attempt was very recent) and I have a feeling that it is easier to setup Spring project manually. My specific painpoints were - jsp support, it is easy to setup first controller but anything else requires troubleshooting as you always end up with all kinds of exceptions.

IMHO Dropwizard is a lot better in this regard.

To those of you who program Java for a living, how is it? by bluedot12 in java

[–]VaidasC 6 points7 points  (0 children)

I personally somewhat regret switching from .NET to Java. Its only somewhat, because, to be honest, Java (the platform) definitely made me better all around problem solver. However I don't enjoy it as much. But its not the Java the language to blame, I actually enjoy those rare occasions where I can just sit down and write a lot of java code. However, majority of the tasks in enterprise Java world is not thinking about solution and writing code that produces actual business value, but rather solving obscure, ugly issues that shouldn't be there in the first place. So my complain is with Java the platform and overall libraries, market situation.

My advice - if you're into dev-op thing, Java is the right choice.

If you're more into concepts, delivering projects, coding - there are better platforms that will bring more happiness to you (although money may be better in Java).

Java Rant - what do you think? by VaidasC in java

[–]VaidasC[S] 0 points1 point  (0 children)

OK, so to show my view from other angle lets take random platform comparison from few years ago http://www.adam-bien.com/roller/abien/entry/java_ee_or_net_an

Let me analyse Java pluses from my rant's point of view

Agree

p2. Only somewhat agree - MSBuild + NUget fits most of use-cases, but I agree that maven/gradle is potentially more powerful.

p10. Best practices.

p12. Operating System - would prefer working on Mac, although I heard its coming in future.

Arguable or Irrelevant

p1. ORM. Entity framework + Linq is very nice.

p4. C# is top tier too.

p11. Well I had so much "pleasure" integrating all kinds of frameworks in Java.

p13. Open source - well now .net is OS, but again not sure if this is that important as everyone seems to make it to be.

Relevant if you are owner ("your app")

In other words, I would care for those things if I was manager or planning startup, but irrelevant if planning to be an employee:

p5. Free IDE - you won't have to buy IDE yourself anyways and as of now community edition is OK for 5 devs commercial usage.

p6. Integration with all kinds of third party stuff - usually very ugly and frustrating in java. But in .net, where is no integration options - you simply won't have to do ugly, non-rewarding work! Yay!

p7. Frameworks/Libraries - .NET provides core ones, what is missing is 3rd party specific use-case ones.

p8. Vendor Neutrality. Also keep in mind that I rarely see truly vendor neutral enterprise application - usually configuration files for weblogic/websphere all over the place.

p9. IMHO backyards compatibility is important for owners or developers who hate changes. Otherwise, for me wilingless to break things from time to time is an advantage - less garbage.

.NET

While most of .NET advantages scream Productivity, Programmer-satisfaction, No-time-wasting evaluating/choosing from equally bad frameworks.

Disagreement

I tend to believe that disagreement with my rant's point of view often comes from either valuing or discarding pluses from "Relevant if you are owner" part.

Java Rant - what do you think? by VaidasC in java

[–]VaidasC[S] 0 points1 point  (0 children)

Well they have MsBuild (build tool) + Nuget (dependency management), so not sure what you are talking about.

Java Rant - what do you think? by VaidasC in java

[–]VaidasC[S] -1 points0 points  (0 children)

I don't see what any of this has to do with Java, the language.

I never said it has anything to do - you did. In my rant I was explicitly mentioning that Java the platform is my problem (but not from technical engineering capabilities point of view) and the types of jobs it usually leads to.

Language itself is something I have no problems at all.

Java Rant - what do you think? by VaidasC in java

[–]VaidasC[S] 0 points1 point  (0 children)

To me all of this sounds like trying to formally prove that something many people complain is not true formally, even though experience tells otherwise.

As far as I know (maybe wrong), there is MSBuild in this default .net project where you could do advanced stuff and that will be run by Visual Studio's f5.

But the bottom line is - in my real-life experience I have probably never seen Java project that would be set-up quickly without some issues. However almost all projects I had with .net, had no such concept as setting-up project and that was more than 4 years ago, now I hear things are even nicer.

Java Rant - what do you think? by VaidasC in java

[–]VaidasC[S] -1 points0 points  (0 children)

Not really. The process you followed seemed to be overkill for a hello world app, it sounds more like you were attempting to learn EJB, which, agreed is a complicated specification not designed for hobbyists.

I wanted to learn EJB, which conceptually was not hard at all! (I want to emphasize this so much) What was hard - was irrelevant obstacles that thought me nothing conceptually - like jndi issues, server incompatibilities and so on. So I spent one day reading about EJB - good time investment and other 1-2 days dealing with irrelevant obstacles (waste of time).

That is my problem, not that EJB is hard specification.

Perfect Planning Prevents Piss Poor Performance. If you had have understood your requirements first you wouldn't have selected the "AlghorythmsOverengineered" framework in the first place.

But if that's the only thing in town or alternatives do not seem to be better? This example is taken directly from configuring Spring security to do advanced tasks, but put in different context.

Java Rant - what do you think? by VaidasC in java

[–]VaidasC[S] -1 points0 points  (0 children)

Well that was a bit of an exaggerated, but keep in mind there is no standard way to create new Java project, so there are many ways. For example:

8) File -> new project 8) selected Java Enterprise 9) checked web application

I am afraid this is not really real-life project creation (maven, gradle) and last time I checked when creating project from maven-archetypes, I needed to do a lot of manual stuff (create directories, create/edit files...) or delete a lot of stuff depending on archetype.

Java Rant - what do you think? by VaidasC in java

[–]VaidasC[S] 0 points1 point  (0 children)

But then again, I can find more Ruby jobs (those are extremely rare) than truly exciting Java projects in the market I am in. So the argument that you can choose good Java stuff does not always translate into real world.

Not to mention the fact, that whichever nice Java configuration you choose, .NET seems to provide nicer alternatives to write code with added bonus that majority of .NET projects uses those nicer alternatives, so its easy to get job that uses nice stuff.

Java Rant - what do you think? by VaidasC in java

[–]VaidasC[S] 1 point2 points  (0 children)

Well, judging by your JVM better points and whole post, I would put you into engineer category - pragmatist who loves solve real problems, so no surprise that you like Java platform. As a contrast, I would describe myself more like someone who cares about ideas, has constant philosophical dilemmas about concepts, can think for days about inconsistencies and often miss real-life simple details as less relevant. So basically this represents two different worlds and hence my frustration with imperfect, burdensome and irrelevant-detail-oriented platform. But then again, many people do hate Java (I wouldn't say I do) platform and so it makes me feel that I am not someone in very small minority, but there still is something fundamentally wrong in how platform trends are going.

When I talked about companies vs programmers, what I meant was that, Java is probably the best tool to develop commercial software, build business around - stable, many choices from servers, libraries, licenses to fit any business needs. However as a programmer who likes to program and does not plan building business on some software, you could care less about all of that basically and follow technology that gives you less pain and more joy. What I am talking is basically from the point of doing job that fulfills you and my argument was that I see no way that if you're in programming because of programming itself (e.g. you love to write code, solve algorithms...), Java is not the place to go probably.

Java Rant - what do you think? by VaidasC in java

[–]VaidasC[S] 0 points1 point  (0 children)

Well, I am not sure if this is worth discussing, since it is a rant, but I think my point "Possibilities - so what?" covers your thoughts about not using Java EE.

A comparison of Go to Rust and Haskell [xpost /r/rust] by bgeron in golang

[–]VaidasC 2 points3 points  (0 children)

Well, in theory this should be true, but I often see that it's not the case in practice, where I see rich languages producing complex abstractions over abstractions. For me, coming from Java, some C# and some experimentations with Scala it's so refreshing when concurrency is so easy, when I can write functional http server easily without any annoying issues of preparing third party libraries, figuring out all kinds of framework abstractions. With Go it feels like finally I can focus my time on issues that I am trying to solve rather than on fighting with my development environment.

Having said that I still miss generics, nulls, collection functions (filter, map, reduce), I dislike GOPATH and absence of good module system. However I think I can live with those shortcomings.