4 ms·
I can't empathize with this enough. The build stack of Java software is absolute nightmare. I really haven't met anyone who really know this in any detail. Ther
by sumanthvepa 6y ago
I can't empathize with this enough. The build stack of Java software is absolute nightmare. I really haven't met anyone who really know this in any detail. There is something seriously wrong with the Java community. I also develop extensively in Python and I rarely encounter the same degree of difficulty in developing complex software.
- layoutIfNeeded 6y agohttps://xkcd.com/1987/ https://xkcd.com/1987/
- lucianbr 6y agoI think it's a matter of perspective. I develop a lot in Java, and I understand most of the build stack. Most of the time, when I see an error I instantly realise what the problem is. Sometimes, rarely, it's cryptic, and I need to do a lot of digging to figure it out. I also touch python once in a blue moon. It's always frustrating. To get anything done, I need to install python, then install pip, then make a virtual env, then use pip to install the libraries the project needs in the virtual env, then start the project. At this point, I realize the project does not work on the latest version of python, but on some specific version, and I need to throw away everything and start again. And each time I tell myself: "why wouldn't they write this obviously critical piece of information on the main page?" I don't think one of the tech stacks is much better than the other. I think we just perceive the one we are knowldgeable in as better, for obvious reasons.
- tetha 6y ago> I also touch python once in a blue moon. It's always frustrating. To get anything done, I need to install python, then install pip, then make a virtual env, then use pip to install the libraries the project needs in the virtual env, then start the project Oh, that's where the simple projects "start the project". Even with wheels around, that's where you'll get an error message that eventually decodes as "There is no C-Compiler on this platform". And then you're installing clang or gcc. And make. And configure. And fuckit, just install build-essentials. And then you start hunting C dependencies. Which I can because I have some experience building C, enough to never to it again. And then you start learning which link error with libpython indicates which minor version of python is actually required. And eventually you start looking into really weird hacks with chroots to be able to have multiple python-devel headers around. Or use containers to compile a python library. Sorry. I like the language python. But installing python packages to do something... I don't know, it eventually hurt something inside me. I severely never want to deal with python in production anymore unless I can just globally install it in a container and stop caring. Java tends to be tolerable. People tend to overuse maven beyond all repair, and gradle can be funky. But none of them compare to the hell python requires.
- hprotagonist 6y ago> To get anything done, I need to install python, then install pip, then make a virtual env, then use pip to install the libraries the project needs in the virtual env, then start the project. These days i spell that poetry new myproject && cd myproject poetry add dep1,dep2,... poetry install git init . gi python && git add .gitignore && git commit -am “first commit”
- baq 6y agohow do you get poetry on the box though?
- hprotagonist 6y agoto develop: curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python pip can be used by itself to install a poetry managed project, so just venv/bin/pip install as normal. This is ok-not-great; i’d prefer for python and pypi to put some official funding and weight behind one de-facto 517/518 build system and stabilize things a little. However this is python we’re talking about, so it’ll never happen.
- mxschumacher 6y agoAnd pyenv for the right Python version With poetry init, the tool walks you through project setup
- hprotagonist 6y agoyep, pyenv is step 0 for sanity.
- g_p 6y agoAs someone that hasn't used Java in production deployment, I tried to play with an open source project that seems to run on JBOSS Wildfly. After about 3 frustrated hours, I cut my losses, deleted the docker containers and images, and decided it was simply not worth it. I could build the code in IntelliJ IDEA, but I couldn't for the life of me figure out how to actually run it to simply test it and play around with it. I can only concur there is something seriously wrong with the Java world/community. Perhaps it's too focused towards enterprise, where you can afford to have one person specialise in sitting at a desk, monitoring Wildfly?
- aphexairlines 6y agoI don't understand where the nightmare part comes from. Building a jvm project these days can be a matter of cloning the git repo and running `./gradlew build`.