News for hackers. Stuff that matters.
Re:Free for students: Professional developer tools from JetB... by ungzd on Monday October 31, 2016 @05:01AM (#12835153)
Do students need enterprise Java IDEs (and IDEs for other languages designed by enterpirse Java developers)?
Re:Free for students: Professional developer tools from JetB... by Delmania on Monday October 31, 2016 @07:02AM (#12835710)
Speaking as someone who built his master's these using Notepad and javac, I can say had I used IntelliJ, I would have had a much more enjoyable time.

Students don't need these tools, but they do go along way to help make them more productive and enjoy the experience. I also wouldn't call IntelliJ (or Visual Studio) as "enterprise" tools. They are definitely the product of people who spend a LOT of time building software in the supported languages.

Re:Free for students: Professional developer tools from JetB... by egeozcan on Monday October 31, 2016 @07:07AM (#12835735)
What are "enterprise" tools anyway? Sincerely asking. Is it a support thing?
Re:Free for students: Professional developer tools from JetB... by SiVal on Monday October 31, 2016 @07:29AM (#12835827)
You can define "enterprise tools" any way you like, but there are software tools that cost millions of dollars that only an "enterprise" would ever buy, and tools like the JetBrains tools that are priced at a level where many individuals buy them for themselves. Many tools like this are still very popular within enterprises, as are many free, open-source tools, so you might mean "commonly used within enterprises" when you say "enterprise tools" but it's more common (I believe) for people to mean expensive tools that ONLY an enterprise would ever buy when they say "enterprise tools".
Re:Free for students: Professional developer tools from JetB... by egeozcan on Monday October 31, 2016 @08:33AM (#12836121)
Thanks, that confirms my intuition. So maybe the marketers use it to scare-away the people who wouldn't be able to afford the product and would waste their time by contacting them for a price and even request demos.
Re:Free for students: Professional developer tools from JetB... by jasode on Monday October 31, 2016 @08:31AM (#12836109)
As an example of "enterprise", scroll all the way down to the bottom of the IntelliJ page[1] for the section "Choose your edition". In the "Ultimate" column, you'll see extra features such as support for IBM Rational Clearcase, MS TFS, and Java EE.

Hobbyists, students, and most startups in the web/mobile space don't use those corporate/enterprise products.[2]

Since this new announcement makes the Ultimate version free for students, I suppose some observers wonder why college students couldn't just use the Community edition which was already free.

[1]http://www.jetbrains.com/idea/features/#out-of-tools

[2]the IBM Clearcase of $2000 is example of "enterprise" pricing: http://estore.gemini-systems.com/ibm/software-license/ration...

(Most college students would probably just use Git/Github instead of IBM Clearcase.)

Re:Free for students: Professional developer tools from JetB... by paulmd on Monday October 31, 2016 @12:26PM (#12838312)
Java EE is the foundation of all Java webdev work. With the exception of a few micro-servers for (eg) testing work, all Java web servers (Tomcat/Jetty/etc) will provide implementations of the Java EE APIs for Servlets, Filters, the web.xml format, etc.

Lack of Spring support in the Community Edition is another biggie. It's the de-facto standard dependency-injection framework for Java. For regular usage, the whole "swap out components on the fly!" thing is oversold and overrated but the DI pattern does lead to easily testable code.

Finally, the lack of Javascript support is just bizarre.

Taken as a whole, the whole thing implies that all webdev work is somehow "enterprise". Like nobody ever did a CRUD app for a final project or a capstone or something?

Re:Free for students: Professional developer tools from JetB... by egeozcan on Monday October 31, 2016 @08:40AM (#12836151)
Well that confused me at first. I questioned why those features would qualify for "enterprise software". Then I remembered that the EE in Java EE is for "Enterprise Edition" and my serach made me end up on Wikipedia[1], which explains enterprise software as "computer software used to satisfy the needs of an organization rather than individual users" - it's simple and makes total sense.

[1]: https://en.wikipedia.org/wiki/Enterprise_software

Re:Free for students: Professional developer tools from JetB... by Delmania on Monday October 31, 2016 @10:21AM (#12836900)
I have just a few nitpicks:

Hobbyists and startups might choose TFS since Visual Studio Online is free for orgs of a certain.

> "computer software used to satisfy the needs of an organization rather than individual users"

This applies to software like HP's ClearCase and Rational rose, whereas the EE in Java is bit of a misnomer. Originally, Java SE was designed primarily for single threaded desktop applications and applets, whereas Java EE was designed for a more networked application with application servers.

What happened is that Java EE was a beast to work with, but some features of it like servlets, injection, and data mappings were useful, so developers built versions of those that could work with Java SE (think Tomcat and Spring). The Java team took the lessons and redid Java EE to make it easier to work with. It's still a bit of a beast to work with, but good enough to build an application with.

Re:Free for students: Professional developer tools from JetB... by paulmd on Monday October 31, 2016 @12:39PM (#12838442)
> What happened is that Java EE was a beast to work with, but some features of it like servlets, injection, and data mappings were useful, so developers built versions of those that could work with Java SE (think Tomcat and Spring). The Java team took the lessons and redid Java EE to make it easier to work with. It's still a bit of a beast to work with, but good enough to build an application with.

This is a really important point for all of Java, in fact. It's a fairly old language (21 years) that has had a lot of trial-and-error and a lot of very niche applications (embedded/mobile development). There is a lot of stuff that is abandoned, obscure, deprecated, or not really used for its original purposes anymore.

For example of something that's widely acknowledged as an outright mistake, see the Cloneable interface.

http://www.artima.com/intv/issues3.html

Do also see the DEFCON talk "The Secret Life Of SIM Cards" that was posted here last night, for an example of a niche embedded usage of Java. There is a LOT of Java running around - not just on smartphones, but on all kinds of embeddable/mobile devices.

https://www.youtube.com/watch?v=_-nxemBCcmU

In many ways DotNet is a clean-slate reimplementation of what Java could have been. It avoids many of the pitfalls that Java ran into, but I think it also misses the boat on some others. I would love a Maven equivalent for C#. And checked exceptions actually are useful in some contexts and C# misses out, but on the other hand Java took it way too far by adding tons and tons of checked exceptions for generic "something happened!" failure cases, many of which are implementation errors and should be unchecked. C# has a lot less boilerplate but also more opportunity for mistakes if you aren't careful.

Re:Free for students: Professional developer tools from JetB... by TheCoelacanth on Monday October 31, 2016 @02:45PM (#12839738)
There are some other things that aren't in the Community edition that would be much more appealing to students or startups such as Javascript, SQL, CSS, Ruby, React, Angular and Node support.
Re:Free for students: Professional developer tools from JetB... by AnthonBerg on Monday October 31, 2016 @06:51AM (#12835666)
I honestly do not experience any of Jetbrains' products as enterprise Java IDEs. To me, they are very well thought out tools to fluently automate menial tasks of development, quickly navigate context and structure, and "know what I mean" and take care of bookkeeping when I wish to shape code by refactoring by virtue of Jetbrains' very high capacity for writing powerful language parser and introspection and couple it with a powerful user interface with only a relatively mild learning curve. So yes, I do strongly believe that students will benefit from using Jetbrains' tools to get to the core of programming - as part of a balanced and supervised diet of ideas from very low abstraction to high.

I see no use in burdening students with feeding little text files to compilers, pushing the semicolon button, gardening header files, or cranking package manager handles.

Re:Free for students: Professional developer tools from JetB... by toennisforst on Monday October 31, 2016 @06:38AM (#12835622)
From my personal experience, a good vs. a mediocre IDE can be the tipping point between really getting into developing or only doing it because you have to.

Of course CS students who come to university already programming and with a strong intrinsic desire will overcome difficulties regardless, but a good chunk of fellow students in business informatics/information systems were turned off by complicated setups and steep learning curves of IDEs and chose to steer clear of technical specializations.

Re:Free for students: Professional developer tools from JetB... by unixhero on Monday October 31, 2016 @05:11AM (#12835205)
Yes. These IDE's bring phenomenal value.
Re:Free for students: Professional developer tools from JetB... by pmontra on Monday October 31, 2016 @08:49AM (#12836224)
For Java yes, but learn first javac and the command line tools. Then you understand why it's unbearable developing non trivial programs without an IDE. Too much time wasted.

For Node, Python and Ruby you can do without an IDE.

Re:Free for students: Professional developer tools from JetB... by wcummings on Monday October 31, 2016 @09:15AM (#12836387)
You could still use maven w/o an IDE, it's really not that bad.
Re:Free for students: Professional developer tools from JetB... by pmontra on Monday October 31, 2016 @09:47AM (#12836621)
It's mainly for compiling automatically when the code changes and for hot reloading. It's important for working with web apps. For desktop maybe not but it's been maybe 10 years since I built a desktop Java application.
Re:Free for students: Professional developer tools from JetB... by paulmd on Monday October 31, 2016 @10:07AM (#12836782)
Maven is actually very important since it is a "generic" project format that all IDEs understand, it handles dependency management/downloading, etc. Ant and Gradle are nowhere near as useful since they are not a format an IDE can understand natively. They are a build script, not a project file, so you need to keep another project file in sync for each client you're using.

You don't even necessarily need to be building a Java target for Maven to be useful. It's also a common way to build continuous-integration build scripts for things like Docker packages, database artifacts, etc.

Re:Free for students: Professional developer tools from JetB... by wolfgke on Monday October 31, 2016 @07:59AM (#12835957)
> Do students need enterprise Java IDEs (and IDEs for other languages designed by enterpirse Java developers)?

Yes, there was a software project that we as students built with Java EE (we used Eclipse at that time) - we had to build on legacy code that another student wrote for his diploma thesis in Java EE. This is surely not typical, but sometimes it happens.

I also like Visual Studio 2015 Enterprise, which one can get by the Dreamspark Premium program (I use it mostly for C++ and C# development), though there are many features that were once Visual Studio Premium and Ultimate only that are now also included in the Professional/Community Edition, too (for example Static Code Analysis in C++). So the difference is much smaller than in earlier times, but some testing tools, which I use, (in particular Code Coverage) are still Enterprise only:

> https://www.visualstudio.com/vs/compare/

Re:Free for students: Professional developer tools from JetB... by arikrak on Monday October 31, 2016 @06:53AM (#12835673)
I think the community edition of IntelliJ should usually be enough for a college student programming in Java. Though if they're using other languages or frameworks they'll want the commercial editions.
Re:Free for students: Professional developer tools from JetB... by paulmd on Monday October 31, 2016 @10:10AM (#12836806)
It depends on what you're building. The lack of Java EE support, JavaScript support, and Spring support are pretty notable exclusions.

You don't need to be doing enterprise programming to find the dependency injection pattern useful, it's very nice for building testable code. And Java EE is the beating heart of a Java webdev backend. Almost everything is built on Servlets and Filters and the web.xml configuration mappings, even if these are abstracted away (and the most common abstraction is - wait for it - Spring+Spring MVC). I guess you can always write Javascript without an IDE but it's definitely nice to use an IDE instead of just winging it with a browser console.

Re:Free for students: Professional developer tools from JetB... by gravypod on Monday October 31, 2016 @01:48PM (#12839139)
Do students of carpentry need an "enterprise-grade" hammer with nails? Yes.

You need to practice to become your most productive self. If you aren't productive you aren't going to find someone who will hire you.