4 ms·
Getting the "Hello World" to compile and run is often the most difficult part of a project. After that it's only easy incremental improvements.
by DaOne256 3y ago
Getting the "Hello World" to compile and run is often the most difficult part of a project. After that it's only easy incremental improvements.
- skitter 3y agoThe "black triangle moment": https://web.archive.org/web/20050306071700/http://www.rampantgames.com/blog/2004/10/black-triangle.html https://web.archive.org/web/20050306071700/http://www.rampan...
- KineticLensman 3y agoGood read. This is so true, by the way, the importance getting a proof-of-principle of some end-to-end multi-step process. I've sometimes described this as a breadth-first solution, which often makes sense to generic business types.
- falcor84 3y agoSorry, wouldn't this approach of going all the way to the end, while ignoring as much as you can on the way, actually be a depth-first solution?
- xboxnolifes 3y agoI think the idea is that they didn't ignore as much as you can along the way. They spent a lot of time on each of their foundations, completing (to some degree) each layer before moving onto the next. > It had passed through our new modeling tools, through two different intermediate converter programs, had been loaded up as a complete database, and been rendered through a fairly complex scene hierarchy, fully textured and lit They didn't do the bare minimum modeling without tooling, didn't hack together (or avoid making) barely enough converter programs, they didn't hack together an in-memory database as a prototype, and they didn't do the bare minimum rendering to show a triangle. They built out a fully working system, layer by layer, the entire breadth of each layer, until they got to the rendering and display layers. At the end of it, they got a triangle. But, since they put in all of the effort to build a strong foundation, the second triangle is 1000x easier to make than the first.
- csours 3y agoHaha. I worked on a manufacturing monitoring app. It communicated status from plant floor controllers (PLC) to turn boxes on the screen different colors. The operators wanted a certain box to "turn green", and they told a coworker about it. So he hardcoded it to green, not using the status from the PLC. The thing is, he was already working on the request, but getting the communication up and running for the PLC is quite involved, so to stop people from bugging him he just "turned it green" *PLC means programmable logic controller, aka simple and predictable industrial computer with lots of I/O
- recursive 3y agoYou get what you measure.
- ZeroClickOk 3y agoThis was a great read, thank you!
- bamfly 3y agoTruly, unproductively fucking around with broken tools and terribly-designed libraries/APIs/SDKs is like 80% of the job.
- csours 3y agoI tried to build a Hello World java console app last year from notepad and command line. I'm sure I could have got it to work, but it's just so much easier to let the IDE do everything for me that I gave up.
- galdosdi 3y agoAre you trolling? That's 4 lines of code any Java dev can type from memory. package foo; public class Hello { public static void main(String[] args){ System.out.println("hi world"); } } As for the build and run, javac foo/Hello.java java foo.Hello That's it. This is covered in chapter one of any Java book. Am I misunderstanding your point or something? It sounds like you are complaining that Java is hard to get a simple hello world running without IDE help, but I must surely be misunderstanding you, because that would only be the case if you refused to do even the most cursory reading beforehand
- csours 3y agoNot trolling. The last time I had done this was in the Java 1.0 days. I would invite you to re-read your code and see how many different things you need, and how they are expressed differently in different places. "Any Java dev" - I'm not a Java dev. I'm a dev who sometimes writes Java. I am not good at remembering equivalent commands across languages. For instance, there's not much call to remember System.out.println when writing Spring Boot apps. Different people have different skills. For instance, some people can communicate without insulting people. This is a valuable skill to grow a career. Also, there are things not shown, like environment variables. I love your comment as an example of "This is so simple, there are only 20 things that you have to get perfect, any idiot can do that"
- galdosdi 3y agoYeah, I'm sure it's hard, if you try to do it from memory and haven't done it in years. You could just take 5 min to refresh your memory by looking at the first 3 pages of any Java book though. Or stack overflow for goodness sake. "Hello world in Java" This is an example of making things harder on yourself for no reason and then complaining about your tools instead of your own artificial restrictions. There's no shame in looking some syntax up if you haven't done it in many years. You said there were 20 things in there but I only count two unique values that aren't just boilerplate you could look up in a minute-- the package name and class name. I just get tired of these kinds of superficial complaints about java "lol hello world takes 4 lines instead of 1" -- that barely affects any program that's more than 20 lines long. I just think you're part of the generation that grew up making fun of Java and it's just reflexive at this point. But, it's unfair. Compare to a language like ruby -- hello world is one line but I have to learn a bunch of weird symbols Lol, that said, the latest Java edition now has a way to avoid the public class business so your hello world can just be 3 lines, one of which is the closing brace. They did it to shut up these kinds of trivial complaints.