10 ms·
I’m not a fan of this personally. It seems very pedantic and honestly the IDE gives such great hints on things already —- I don’t think it actually helps anyone
by pylua 3y ago
I’m not a fan of this personally. It seems very pedantic and honestly the IDE gives such great hints on things already —- I don’t think it actually helps anyone learn anything in the long run.
Also worth mentioning is that having multiple ways to do the same thing also increases complexity
- thfuran 3y agoIt seems kind of weird now that java has a repl anyways.
- re-thc 3y ago> It seems very pedantic and honestly the IDE gives such great hints on things already It's for beginners who might not even know what an IDE is.
- kaba0 3y agoBut that’s the thing, they managed to do it in such a way that it requires barely any language change: just imagine an implicit `public class X {` at the top of the file and a closing } at the end. And now just change the default class loader to be less restrictive in finding main methods, and that’s it. While it really does help teaching people when you can be more focused on the relevant parts only.
- citrin_ru 3y ago> the IDE gives such great hints on things already Requirement to use IDE is one of reasons I don't like Java. I wrote/write code in multiple languages and for all of them a simple text editor is enough. I usually don't use auto-complete because it distracts me and I type fast anyway. But with Java it's hard to be productive without an IDE.
- 9dev 3y agoI will never understand why some people actively choose to cripple their productivity. Is it some irrational pride in being able to drill without power tools?
- citrin_ru 3y agoLanguages and IDE come and go, vim remains. It is enough to learn it once (so common things are done without additional thinking) and use for different languages. It is also one of very few editors available for all desktop and server OSes I used over the time. I tried to use IDE and Java is the only case where my productivity was crippled without it (C# probably would be the same but I haven't used it). I don't deny IDE have lots of useful features. I just don't feel I need them.
- 9dev 3y agoYou could make the same argument for using console logging instead of debuggers, and many developers get along with that just fine. Yet they’re missing out on a lot of productivity they never knew was able to be gained.
- citrin_ru 3y agoDebug logs and debugger not replace but complement each other. And while in many situations it is possible to debug without a debugger by adding print-s reverse is not true - I see no way how a debugger can replace logs. Though good debug logs are rare nginx and postfix are rare examples where debug logs are really useful (may be bad debug logs is why this tool got bad reputation). What to some extend can replace debug logs is tracing which allows to logs events on demand, when you really need them. E. g. Dtrace can be used both for kernel and userspace via USDT (but Dtrace was not invented h̵e̵r̵e̵ on Linux), bpftrace can instrument kernel but unsure about userspace.
- dontlaugh 3y agoThankfully most IDEs have pretty good vim modes nowadays.
- citrin_ru 3y agovim mode definitely helps, but still it is not the same as using vim directly. My vimrc is small compare to what I see people share but still has 180 non-comment lines, the same with plugins - only a few but I really use them.
- RyEgswuCsn 3y agoI don't know. Can you reliably rename variables/classes in a language that is not designed to facilitate IDEs/toolings?
- citrin_ru 3y agoGo is easy to read/write even without an IDE (unlike Java) and there are refactoring tools which can be called both form CLI and from an IDE.
- RyEgswuCsn 3y ago> refactoring tools Exactly.
- Gunax 3y agoI was skeptical too. But after reading the JEP i think i am convinced. It makes an analogy to packages. We allow classes to exist in the default package. Therefore, I think it's reasonable to allow methods to exist in a default class. Of course you shouldn't so this in real work, but that's also true of the default package. I also like that main doesn't need an argument. Many noob programs don't even use the String[] args parameter anyway, so let's not require it.
- pylua 3y agoSeems like a complex explanation when someone new eventually asks why is this done this way.
- RyEgswuCsn 3y agoSame here. `psvm` is perfectly consistent with the rest of the language. IMHO it is much better to have a consistently verbose/explicit language than an inconsistent one.
- signaru 3y agoI personally like using IDEs when coding. Reading is another matter, and the code we read will not always be inside an IDE (e.g. code shared on the web, or written in a book).