News for hackers. Stuff that matters.
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.