3 ms·
List vs Set is a funny question. I can’t imagine anyone with a degree being ignorant of the difference regardless of the programming language! That's not what
by bermanoid 15y ago
List vs Set is a funny question. I can’t imagine anyone with a degree being ignorant of the difference regardless of the programming language!
That's not what he's complaining about, though, he said that question was perfectly fair game. Because it is something that, as a Java programmer, you actually need to know to do your job. Similarly, the difference between the jQuery selectors is relevant, because those things actually do different things. I'd argue that even your joke example, "What is protected inheritance in C++?" is still relevant, if esoteric, because it's knowledge that could potentially be relevant to how code works and what it does.
You truly never need to know what package List or File is in, though, in the real world. If you're programming Java like 99% of the other people out there (i.e. you're not the type of masochist that thinks they can be productive in a boilerplate-heavy language like Java with nothing but a text editor), your IDE will fill in those blanks, and quite literally hide the import statements from you so you never need to think about them again (unless you mis-selected the class, in which case the fast solution is still not to remember the actual package name, but to delete the offending import statement and "Optimize imports" again, this time picking more carefully rather than mindlessly selecting the first one in the list...).
That said, most Java experienced programmers would probably know that stuff like List is somewhere in java.util, and stuff like File is going to be in java.io, just from having auto-completed them so many times, so it could be a very weak filter against people that are lying about their experience. But I still don't think it's a useful question, at all - if they get it right, it very weakly confirms that they're not lying, and if they get it wrong it's nothing more than a minor eyebrow-raiser, suggesting that possibly they've exaggerated their familiarity (though again, any practicing Java programmer could be very good but still be weak at the "Name That Package!" game, because it's 100% irrelevant to the job). The thing is, you'd get far more information either way by just having them rant about Java in general, or asking them to talk about what pieces of the standard library they use the most, etc.
- yirt 15y agoYou can't remember everything. The real test is how well you can function once you hit "here be dragons" - can you figure it out reasonably quickly and then be back on your way?
- aboodman 15y agoI program Java in emacs. I work with many people who do. Of course, it's hard for me to say _objectively_ that I'm productive, but my peers seem happy with my work.
- kamaal 15y agoI think you deserve appreciation for showing such patience and bravery to be programming Java in Emacs. On any other day, if the choice of eclipse or equivalents(IntelliJ etc) is not available it practically makes zero sense to deal with monstrosity and needless complexity Java has with a ordinary text editor. Even if that is Emacs. Emacs is still a text editor. On any given day Java development makes sense only if done on a IDE. And that's nearly every Java programmer works. Exceptions exist, but they only prove the rule. Having said all that, These days eclipse really does 90% of the coding. You job is only to tell eclipse what needs to be auto completed.
- gcp 15y agoI'm in a similar position as the grandparent - Java coding in Emacs. For various reasons using a smart Java IDE is a pain in our environment (multilanguage code with Java parts). Emacs just works. Emacs has working autocomplete from Java, especially with Semantic. It's far away from being as smart as something like IntelliJ, but it works well enough. Most functions and arguments you remember after a while. I can type much faster than I can think, so less autocomplete doesn't slow down. In fact, not having to watch if the autocomplete gets it right frees the brain to think ahead more. Maybe it's because I'm used to this. Import statements are one of those things where you have to switch to Google, though.
- kamaal 15y agoI do most of my other stuff Perl/Python and any other stuff apart from Java on Emacs. Some times on Sublime Text 2. I am now planning to shift to ST2. Even on an editor like ST2 which is awesome anyway. You get to see what an editor is designed for. Its supposed to make 'Text' manipulation easy. So that is what it is, after everything. So Emacs with all its power is still a Text editor, albeit a very powerful one. Every time I work on Text editor I focus on reading manuals and understanding stuff no matter which editor that is. But with Java,IntelliJ and Eclipse its different, I just throw in whatever little is there on my mind and just wait for the autocomplete to do the magic. Some of my colleagues go a step far. They just can't write any Java code without an IDE and I see that's the case with nearly every Java programmer I've met so far! Even in interviews. Its sort of like if you are talking of Java development its taken for granted that its is happening on an IDE. You never know, a few days from now the Java language specification my include a IDE specification. According to me tools and languages must enable you think more than you write. Unfortunately in case of Java(and now growingly Python) you just can't work without an IDE.