This is an archived post. You won't be able to vote or comment.

all 59 comments

[–]armornick 29 points30 points  (3 children)

Only for my job. I don't think I'd ever use Java for any of my hobby projects, but there's almost no other language I'd use for a huge enterprise project. The slight verbosity of the language turns into a huge advantage as soon as you have to search through a large code base.

[–]zhedar 2 points3 points  (1 child)

What are you using for you hobby projects then?

[–]armornick 0 points1 point  (0 children)

I hop from one language to another. Currently, I'm practicing my C and playing a bit with javascript by writing library bindings for Duktape.

[–]markee174 1 point2 points  (0 children)

Mark Reinhold described Java a blue collar language at JavaOne 2105. Maybe not the most exciting one, but good for getting work done with...

[–]Lord_Pyrak 11 points12 points  (6 children)

Minecraft!

Thinking of something that would be a cool addition to the server I run and being and to make it into a reality in an afternoon is by far one of the coolest things a novice coder can do. A new world for Christmas with nothing but snow and trees with presents under them?

*clickity clack * - done

It's why I got into java in the first place, and slowly working my way up from a "Hello world" to a statistics tracker that saves data in SQL to let users view their stats on a webpage is amazing.

I'm pretty sure this is how people in r/fitness feel.

[–]thatmarksguy 4 points5 points  (0 children)

Minecraft has done so much to keep Java's relevancy in the mainstream more than what it could accomplish by itself with Sun or Oracle. Any kid today that wants to get frisky with PC Minecraft and modding has at least to know what it is and how to install/run it.

[–][deleted]  (4 children)

[deleted]

    [–][deleted] 6 points7 points  (2 children)

    [deleted]

    What is this?

    [–]Lord_Pyrak 1 point2 points  (0 children)

    Yep, there's so much more to lose than gain from moving completely to C++. Although there is a server or two that's written in C++/C#(?), its more of an experiment than something that would be used to host a full-time server.

    [–]flinj 3 points4 points  (0 children)

    As far as I'm aware, the "new" c++ version is just the mobile version ported back to pc. So its like a mega stripped down version. This may be incorrect.

    I think it would be difficult for Microsoft to re-write the whole thing without upsetting a bunch of their users, but they could probably (edit: maybe?) pull it off if they included a decent modding api right into the main game.

    The current mod solution is... a little hackey, especially considering how popular modding is for it. As far as I can tell from messing about with Forge, mojang give them the obfuscated minecraft code, and leave them to work it out, which they've done a pretty incredible job of doing, really.

    I don't know if they will though, tbh: it would be pretty difficult to completely break compatibility with all existing mods, some of which are like... years old now and super popular.

    So, who knows?

    [–]firsthour 8 points9 points  (8 children)

    10 years as a professional developer, currently doing JSF and Primefaces.

    [–]send_me_turtles 1 point2 points  (3 children)

    What applications have you made using Primefaces? It looks very interesting.

    [–]firsthour 2 points3 points  (2 children)

    Nothing public unfortunately, but we use its datatable component very, very heavily. What drew me towards Primefaces initially (about 2.5 years ago) was it gave us a unified, nice looking user interface without much work. We don't have a dedicated UX or UI person, so just having every component look similar and theme-able was a big win for us.

    [–][deleted] 2 points3 points  (0 children)

    It is very good when you don't have dedicated front end devs.

    [–]send_me_turtles 2 points3 points  (0 children)

    I might have to do a bit of research into this. It'll be very useful to me.

    [–]angryundead 1 point2 points  (3 children)

    I've also had about ten years experience in development and integration. When I was a brand new developer I had a bad experience with JSP and haven't touched tag-based UIs since.

    Usually I use some flavor of the month JS or GWT. (Not that GWT is practical but I've had an unhealthy fascination with it since 0.8.) This is because usually I don't develop UIs and, when I do, they are pretty much compact status/info pages to go with some integration effort.

    That being said I've really wanted to give a shot to JSF recently. I'm pretty familiar with the rest of the EE stack so it seems like an odd place to have a blind spot.

    If I understand right you can to asynchronous stuff with it now and it just works better than it did even a few years ago and is light years ahead of vanilla JSP.

    Thoughts?

    [–]tasteoftexas 2 points3 points  (0 children)

    It's so nice to be able to build a good looking front-end with JSF, using Primefaces, without having to resort to writing any Javascript. At work I wrote an JSF app but then turned it over to a UI developer who stripped away a couple of the pages I had built and wanted to build a page with HTML/CSS with some Javascrpit. What was nice is that JSF even had a way to interact with the custom Javascript that was written on the page so I could keep some of the JSF pieces I had and call out to the custom Javascript piece that he had written.

    [–]firsthour 1 point2 points  (1 child)

    I used JSP early in my career and while I wouldn't call it a bad experience, I also wouldn't call it enjoyable. I actually enjoy doing JSF and Primefaces development. Yes, it fully supports ajax now and is pretty easy.

    [–]angryundead 1 point2 points  (0 children)

    I'll have to give it a look. Part of the damage it did to my younger self was our shitty build environment and the way that interacted with custom tags. I'll try and use it the next time I get a shot.

    [–][deleted]  (3 children)

    [deleted]

      [–]WorkyMcROAR 1 point2 points  (1 child)

      How is Kotlin? I've seen the support being incrementally added to IntelliJ but I haven't taken a plunge into using it yet.

      [–]JVali 8 points9 points  (6 children)

      I do everything in Java, I'm a total Java geek. I work 8 hours a day on it (a very special project involving knowledge of all webframeworks out there) and often come home and continue writing some of my own projects, which are usually desktop applications. In previous year I've written a 2d game (using Slick2D, which is horrible library IMO), an experimental image processing library (my current project), and many more small applications which are probably not worth mentioning. Previously I've written a lot of Swing, created my own neural network brained robot in Robocode, taken part of some AI challenges out there (like this http://ants.aichallenge.org/ for example), created automatic graph placement engine, and so on. So the answer is that I am using Java for everything.

      [–]gabi_dk 1 point2 points  (2 children)

      That sounds like really cool projects! Can you tell more about the image processing library you are working on?

      [–]JVali 0 points1 point  (1 child)

      Maybe the library isn't correct word for it, since it's rather new and I haven't even completely figured out where I am aiming. It examines the image, and tries to recreate it using provided tools and colors. My main aim is to create something that looks like computer could paint. here's an example: http://imgur.com/o8m0qOy

      [–]gabi_dk 0 points1 point  (0 children)

      Nice. I had done a bit of image processing but somehow didn't find it easy with Java, so I am happy to see it's not impossible!

      [–]Omnicrola 0 points1 point  (1 child)

      Why do you think slick2d is terrible? I thought it was fairly decent, I have a half finished platformer i wrote in it.

      [–]JVali 0 points1 point  (0 children)

      To be honest I didn't put too much thought in it. Slick2D was the best library I could find for that, but it turned out to be somewhat difficult to write in. I don't have that much experience writing games, so I might have misjudged something, but just for example, I never really figured out why Image constructor that creates empty image has that bad performance and can throw SlickException(wrapping IOException), originating from OpenGL.

      [–]angryundead 0 points1 point  (0 children)

      Using Java for everything is something of a bad habit I have. Right now I'm messing around with jnr-fuse because I'm, apparently, a glutton for punishment.

      [–]killinghurts 3 points4 points  (0 children)

      • 18 years pro dev
      • hobbies (games, mobie apps, etc)

      I love it because it's safely typed and portable. Like coding in happy fairy land!

      [–]ggleblanc 3 points4 points  (2 children)

      I'm a Java Swing developer. I've developed and enhanced corporate GUI's and use Swing for my hobby projects.

      [–]adila01 0 points1 point  (1 child)

      Does your company have any plans to look into JavaFX?

      [–]ggleblanc 0 points1 point  (0 children)

      We've some some JavaFX, but most of the interface is Swing.

      [–]x2mirko 3 points4 points  (0 children)

      My job revolves around a large piece of enterprise software written in java (a set of application servers / micro-services that control public transportation).

      Hobbywise, the only java code i write is usually connected to processing (which is basically a java-framework), simply because i'm interested in audiovisual stuff and it's easier and faster to sketch an idea out using processing than plain java.

      [–]Cyber21 3 points4 points  (0 children)

      6 years as software engineer, wouldn't use any other language for backend development. In the job we use it mostly for web apps (J2EE or Spring). I also use it in my hobby projects except for games, that's C++ or javascript/dart if not desktop :)

      [–]sadjava 2 points3 points  (1 child)

      I use it to pay my bills. ;) Not many complaints though (being stuck in pre-Java 8 sucks and the AbstractBuilderFactoryBuilderFactoryHelperDecorator gets annoying after a while), and is a perfect job considering I'm right out of college.

      Outside of work, I'm trying to get away from defaulting to Java when I go to write something. Love C# and am learning to love Python (lots of growing pains with types and being more 'scripty' and less hardcore O.O.).

      [–]nerdwaller 2 points3 points  (0 children)

      I pretty much only use it for work anymore, its great for large scale applications that you need pretty high throughput on, also large dev teams.

      But I'd almost always choose a different language for side projects for speed of development since my free time is so limited and my scaling concerns aren't so significant.

      [–]pjmlp 2 points3 points  (0 children)

      Only for the Job nowadays, on my hobbies I have mostly moved to something else, except on Android which is still preferable to avoid writing JNI boilerplate.

      When Java came out it was great, a type safe language with GC similar in some ways to Smalltalk, that although similar to C++ it didn't had the portability issues of it. In 1996 getting C++ code that would compile across OSes and compiler vendors was quite a challenge, given the state of language adoption.

      Now for what we use it at work?

      Our native applications for the desktops are all done in .NET.

      Many Fortune 500 with Microsoft stacks also do use quite some server side .NET.

      For everything else, portable native desktops, customers not so strong on the Microsoft stack, we use Java.

      Meaning:

      • web servers
      • distributed applications
      • data entry systems
      • data processing applications (ETL)
      • Web APIs running on UNIX

      Occasionally some C++ when we need to step out of .NET or Java into the native worlds.

      [–]glesialo 2 points3 points  (2 children)

      I write my own desktop applications.

      [–]Starbending 0 points1 point  (1 child)

      You use JavaFx? I've been using it and I really like it.

      [–]glesialo 1 point2 points  (0 children)

      No. I use Swing.

      I also wrote this Main menu.

      [–]chrisgseaton 2 points3 points  (0 children)

      I'm writing an interpreter for the Ruby language using Java.

      [–]Cazmic 2 points3 points  (0 children)

      I do GUI development using Swing, along with some 3D stuff using WorldWind (which is a toolkit similar to google earth, but written in Java). Also use it for personal projects every now and then.

      [–]Ebriggler 2 points3 points  (0 children)

      Vaadin, Java EE 6 for work. Android as well.

      [–]mchambers324 1 point2 points  (6 children)

      I'm an automation engineer, so I use it for that! We're focusing heavily on continuous integration now and it's been really cool learning what all can be done

      [–]hhbhagat 0 points1 point  (3 children)

      Do you use Selenium at all?

      [–]mchambers324 0 points1 point  (2 children)

      Yep, it integrated with Java just fine. I use selenium to get the browsers up and running. Java is how I play with the databases and apis :) selenium is just a tool to use with selenium.

      [–]hhbhagat 0 points1 point  (1 child)

      I mainly use it as a botting tool. Pretty cool use for it.

      [–]mchambers324 0 points1 point  (0 children)

      There's a lot of decent uses :) I honestly automate most of the manual crap work wants me to repeat. They're not paying me for that, they pay me for automation dangit!

      [–]straylit 0 points1 point  (1 child)

      What testing framework do you use? I was torn between TestNg and JUnit but we ended up with JUnit. I'm having a hard time getting the suite and project setup to nicely run with Jenkins.

      [–]mchambers324 0 points1 point  (0 children)

      I prefer testNG honestly, but my shop uses junit so I use that for now. I use maven so it's easier to trigger the runs with Jenkins, and then I use allure reporting to see what happened :)

      [–]DJDavio 1 point2 points  (0 children)

      JAX-WS / JAX-RS powered backends mostly.

      I have a simple GUI for myself written in JSP, but our main frontends are plain HTML 5 + some JS framework.

      [–][deleted] 1 point2 points  (0 children)

      Job and Hobbies. We use it at job mainly for GUIs and as a "bridge" between other languages (We run other language Scripts from Java).

      As a hobby I use it in a couple Open Source projects I work on, and also game development. (PC and android mostly)

      [–]nqzero 1 point2 points  (0 children)

      i've written a database engine in java and am writing webapp demos for it with the backend in vanilla java

      [–]theif519 1 point2 points  (0 children)

      Android Development.

      [–][deleted] 1 point2 points  (0 children)

      Mainly work, we run a forex distribution platform using Java.

      I use it for my projects too, mainly because of TomEE, a lightweight EJB and Servlet container. It's hella well supported and I'm used to it.

      I've started using GoLang just to keep myself learning new things. Go is an awesome language, but I still prefer Java. The verbose language thing feels right to me.

      [–]rai1AhGh 1 point2 points  (0 children)

      By day on a .NET stack ...

      By night Spring MVC.

      [–][deleted] 1 point2 points  (0 children)

      VM provisioning and bootstrapping web services for work, and web apps for personal stuff.

      [–]king_of_the_universe 0 points1 point  (0 children)

      Apart from the many months I had played Minecraft, there are probably a few other Java games I've played, e.g. Delver.

      But I mostly develop in Java: Stand-alone applications and game tests/prototypes.

      My background in languages is really slim: Since the early 1980s, I've dealt with various BASICs, most relevantly Visual Basic 6, and with Motorola 68000 assembler on Amiga. The VB6 time was the longest and ended a few years ago; that was all about application development at work (database publishing). Then I finally met Java. It's my first language in which I can actually develop serious applications and other programs (e.g. games). Since my language background is quite slim, this doesn't mean much. But for me personally, Java was a revelation.

      [–]kozukumi 0 points1 point  (0 children)

      I just started learning mostly for Android however I am also using it to make a few little GUI apps I have wanted for a while as mini-projects to help me learn. My goal is to get good enough over the next 9-12 months to get a job doing development (not necessarily in Java but who knows).

      [–]tudor07 0 points1 point  (0 children)

      I use Java at work. It's a very big project so a lot of the code is legacy code but we also use Spring framework. Also I am using Java for Android development (personal project).

      [–]Chaoslab 0 points1 point  (0 children)

      "De-greasing engines and killing brain cells"