The Big Programming Thread - Page 420
| Forum Index > General Forum |
Thread Rules 1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution. 2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20) 3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible. 4. Use [code] tags to format code blocks. | ||
|
tofucake
Hyrule19167 Posts
| ||
|
Blisse
Canada3710 Posts
On January 05 2014 10:34 berated- wrote: Haters gonna hate... its weird how like 2/3 of all java developers prefer eclipse over intellij and netbeans but according to this thread its the very worst ide to ever be created. I guess all of us dumb java devs just don't know any better. If you don't need it, don't use it...that doesn't make it suck. The best of a bad bunch doesn't mean it's good. It sucks when compared to the main IDEs for other languages. Well, you can argue that VS is pretty bad too without ReSharper, but with ReSharper, no contest - Eclipse sucks in comparison. IDEs are multiple times more productive than text editors simply because of autocomplete. If I can type "CustomList." and then have a list of what methods I can call for that CustomList alongside the signature of each method, and where it autocreates the signature for you, I can be a lot more productive than if I had to open up the code definition in another window and find the method I want and then type the entire method name without misspelling and then copy the signature and so on and so on. If a text editor could do that, plus figure out build settings for me, plus give me a visual debugger, I would swap over. But none do. I still love Sublime Text though. | ||
|
obesechicken13
United States10467 Posts
| ||
|
berated-
United States1134 Posts
On January 05 2014 12:21 Blisse wrote: The best of a bad bunch doesn't mean it's good. It sucks when compared to the main IDEs for other languages. Well, you can argue that VS is pretty bad too without ReSharper, but with ReSharper, no contest - Eclipse sucks in comparison. IDEs are multiple times more productive than text editors simply because of autocomplete. If I can type "CustomList." and then have a list of what methods I can call for that CustomList alongside the signature of each method, and where it autocreates the signature for you, I can be a lot more productive than if I had to open up the code definition in another window and find the method I want and then type the entire method name without misspelling and then copy the signature and so on and so on. If a text editor could do that, plus figure out build settings for me, plus give me a visual debugger, I would swap over. But none do. I still love Sublime Text though. So, if IDEs provide a bunch of features, that you know.. make your life better..? When you are working with a project for your job? Isn't that the opposite of suck? Hating java and the tools that go with it is just the cool thing to do, there is no sense in me trying to defend it. Sorry for derailing all the bashing, I'll just bow out. | ||
|
nunez
Norway4003 Posts
edit: personally i stick to one letter typenames, variables and functions, enumerating them in order from a to z then on to the capital alphabet. if absolutely necessary i will adopt numbers as well, a0, a1, etc. also typedefing stl containers and basic types to fit into my terse scheme. | ||
|
tofucake
Hyrule19167 Posts
On January 05 2014 12:36 berated- wrote: Hating Java is what a lot of people do because they don't understand using the proper tools. A lot of the lesser experienced Java programmers don't shut the hell up about Java: it's the perfect tool for everything.So, if IDEs provide a bunch of features, that you know.. make your life better..? When you are working with a project for your job? Isn't that the opposite of suck? Hating java and the tools that go with it is just the cool thing to do, there is no sense in me trying to defend it. Sorry for derailing all the bashing, I'll just bow out. | ||
|
mcc
Czech Republic4646 Posts
On January 05 2014 12:36 berated- wrote: So, if IDEs provide a bunch of features, that you know.. make your life better..? When you are working with a project for your job? Isn't that the opposite of suck? Hating java and the tools that go with it is just the cool thing to do, there is no sense in me trying to defend it. Sorry for derailing all the bashing, I'll just bow out. I might dislike Java, but that has nothing to do with my dislike for Eclipse Eclipse is better than pure text editor, but it is poor IDE compared to VS for example. As for the VIM with autocomplete and debugger, at that point that VIM is basically becoming IDE. Few other things that IDE gives you, go-to-definition, find-all-references/uses (those can work 100% only for statically-typed languages) , build/debug automation and project management. I guess you can have all of those plugged into VIM, at that point you can call it IDE. | ||
|
spinesheath
Germany8679 Posts
On January 05 2014 06:00 Blisse wrote: For comparison, I don't touch Visual Studio unless it has a copy of ReSharper on it. Development without RS is essentially enough of a turn-off that I won't bother. I have a bit under a year's experience. Would you mind writing a small list of some features you use a lot or find very important? Apparently (and not unexpectedly) there's a lot more to it than I know. | ||
|
Blisse
Canada3710 Posts
On January 05 2014 12:36 berated- wrote: So, if IDEs provide a bunch of features, that you know.. make your life better..? When you are working with a project for your job? Isn't that the opposite of suck? Hating java and the tools that go with it is just the cool thing to do, there is no sense in me trying to defend it. Sorry for derailing all the bashing, I'll just bow out. I'm sorry, but did you miss the context and relativity? It sucks compared to what it could be as an IDE, in which VS and Xcode are glowing examples of. I like using Java. It's basically C#. It was enjoyable except for the package importing which I have trouble wrapping my head around (same as I have trouble wrapping my head around importing in Python). Using syntax in C/C++/C# feel a lot more natural because I've coded in those languages more. I like Java, but Eclipse sucks. | ||
|
Shield
Bulgaria4824 Posts
I have this code:
I've figured out I can't return a value after the block because the block appears to be asynchronous, so the "return" happens before the block finishes code. Any suggestions? Ideally, I want to have a method like: +(NSString *)getRevAddress(CLLocation *); However, it can't really be done if I do not serialise executon in a way. Say something like 1. Execute block 2. Has block executed completely? a. NO - wait until it finishes b. return the reverse address | ||
|
sluggaslamoo
Australia4494 Posts
On January 05 2014 13:29 tofucake wrote: Hating Java is what a lot of people do because they don't understand using the proper tools. A lot of the lesser experienced Java programmers don't shut the hell up about Java: it's the perfect tool for everything. Odd... I always felt like it was the lesser experienced Java developers that liked it the most. I had used Java for 6 years before I decided I actually hated it. Its always fun to have someone scream at you for hating on Java and thinking you know nothing, only to teach them a thing or two about it. ![]() No features in an IDE I find add to productivity on a grand scale, I think if you can type at 75+ WPM auto-complete is at best a small productivity gain. The biggest boons for productivity I find are being framework agnostic and being able to instantly install from a comprehensive selection of libraries, many of which provide easy to use abstractions for certain tasks. So while you may be saving a few seconds at a time with features like auto-refactor and auto-complete, I am saving days of development at a time by compositing lots of different libraries. Sure C# has the ability to do it, but its not really designed for that kind of thing, and most projects are just raw with a few libraries or a big framework with the lot. | ||
|
Deleted User 101379
4849 Posts
On January 05 2014 20:38 sluggaslamoo wrote: Odd... I always felt like it was the lesser experienced Java developers that liked it the most. I had used Java for 6 years before I decided I actually hated it. Its always fun to have someone scream at you for hating on Java and thinking you know nothing, only to teach them a thing or two about it. ![]() No features in an IDE I find add to productivity on a grand scale, I think if you can type at 75+ WPM auto-complete is at best a small productivity gain. The biggest boons for productivity I find are being framework agnostic and being able to instantly install from a comprehensive selection of libraries, many of which provide easy to use abstractions for certain tasks. So while you may be saving a few seconds at a time with features like auto-refactor and auto-complete, I am saving days of development at a time by compositing lots of different libraries. Sure C# has the ability to do it, but its not really designed for that kind of thing, and most projects are just raw with a few libraries or a big framework with the lot. If you work in a project spanning 400k+ lines, several hundred classes and half a dozen frameworks, as i do at my PHP web development job, autocomplete becomes a huge timesaver. Not because it saves you from typing those 5-10 more characters, but because A.) it shows you the available methods, so you don't have to look into the class to find out if that method was called loadFoo() or initFoo() B.) it protects against spelling mistakes or rather against methods with a misspelled name that were so long in the system that you can't correct it anymore. One of our core services, used by several external groups, is the comission service. Also, "Find references" is a very important tool. You can't just grep through 50k files across half a dozen referenced projects to find out where a class is used. Then there are cases where you aren't sure what the class was called, you just know e.g. "It started with 'event' and ended with something like 'sms'". Using find to search through all those files takes forever. In Zend Studio you just press Ctrl+R and type "ev*sms*.php" and have a short list of files where you can then pick the right one. My job is a common, boring PHP development job, nothing special. Lots of ancient code, mixed with lots of bad code, workarounds, hotfixes, quick-and-dirty, "we'll fix it later" style code, partial rewrites that maintained compatibility to the previous buggy version, etc. The IDE is still a timesaver, even if it's slow as hell and makes me wish i could just go to VIM. Writing code is slow, but managing code is still better in an IDE. Back in the days when i had my private 10-20k LoC projects that I wrote on my own, yeah, an IDE was useless. For my current private project I'm working directly in VIM via SSH and it's good enough because I know how every method or class is called. However, while those projects are fun, they aren't really relevant. What is the biggest project you've ever worked on, sluggaslamoo? And with how many developers? How old was the codebase? From your posting I get the feeling it's "10k LoC". "1". "1 month". | ||
|
sluggaslamoo
Australia4494 Posts
On January 05 2014 21:06 Morfildur wrote: If you work in a project spanning 400k+ lines, several hundred classes and half a dozen frameworks, as i do at my PHP web development job, autocomplete becomes a huge timesaver. Not because it saves you from typing those 5-10 more characters, but because A.) it shows you the available methods, so you don't have to look into the class to find out if that method was called loadFoo() or initFoo() B.) it protects against spelling mistakes or rather against methods with a misspelled name that were so long in the system that you can't correct it anymore. One of our core services, used by several external groups, is the comission service. Also, "Find references" is a very important tool. You can't just grep through 50k files across half a dozen referenced projects to find out where a class is used. Then there are cases where you aren't sure what the class was called, you just know e.g. "It started with 'event' and ended with something like 'sms'". Using find to search through all those files takes forever. In Zend Studio you just press Ctrl+R and type "ev*sms*.php" and have a short list of files where you can then pick the right one. My job is a common, boring PHP development job, nothing special. Lots of ancient code, mixed with lots of bad code, workarounds, hotfixes, quick-and-dirty, "we'll fix it later" style code, partial rewrites that maintained compatibility to the previous buggy version, etc. The IDE is still a timesaver, even if it's slow as hell and makes me wish i could just go to VIM. Writing code is slow, but managing code is still better in an IDE. Back in the days when i had my private 10-20k LoC projects that I wrote on my own, yeah, an IDE was useless. For my current private project I'm working directly in VIM via SSH and it's good enough because I know how every method or class is called. However, while those projects are fun, they aren't really relevant. What is the biggest project you've ever worked on, sluggaslamoo? And with how many developers? How old was the codebase? From your posting I get the feeling it's "10k LoC". "1". "1 month". Right now I'm working on a small development team because I enjoy it more, but in past I have worked on very large Java projects like yours. At one point I wrote a script that checked for unused test code, and found over 1,000 lines of deletable tests. To address that question specifically, I think the biggest was a team of roughly 20 developers with 5 product managers. It was the LonelyPlanet website written in Java so it was pretty old. No idea what the LOC was, it was very big, too big. In the end I still used GEdit/Xmonad while everyone else was using eclipse in a behemoth project. Although because of paired programming, I was using Eclipse a lot of the time. To me having auto-complete in your project is just trying to address the symptom for a much larger problem. Yeah it definitely helps when you have 400k lines of code to sort through, but really, the real problem is that your code base is way too big. You would have much greater productivity gains by reducing the size of the code base. Although i know the feeling that there's not much you can do about it, but if you have decent test coverage you should be able to refactor a lot of code. Projects should not really span more than 10-20k lines. I think my last contract that I did on my own, ended up only being about 5k lines with something like 20k lines added and 15k lines deleted . When you have a very undisciplined team though code almost always ends up going out of control. Imagine if I never deleted any code, it would have been 4x bigger, which would slow down my productivity quite a lot. This is what happens in undisciplined teams.I remember when another development team in one of the places that I worked were only allowed to push code if their code-base was smaller than before the commit. This was very effective, although good luck trying to pass that through when your manager and team is just derp. ![]() | ||
|
ParasitJonte
Sweden1768 Posts
On January 05 2014 14:17 mcc wrote: I might dislike Java, but that has nothing to do with my dislike for Eclipse Eclipse is better than pure text editor, but it is poor IDE compared to VS for example. As for the VIM with autocomplete and debugger, at that point that VIM is basically becoming IDE. Few other things that IDE gives you, go-to-definition, find-all-references/uses (those can work 100% only for statically-typed languages) , build/debug automation and project management. I guess you can have all of those plugged into VIM, at that point you can call it IDE. Agree on both counts. But I still applaud Eclipse for being such a good IDE and being free. To further the point about vim essentially becoming an IDE, I would point to the downsides that each developer in a team will probably use his own setup and settings. This gives flexibility that some will love but for people like me who really don't want to think about what software I am using to produce software (I just want it to work...) and for people who might not have a strong linux background resulting in them not being able to setup an environment that really enhances their productivity - that flexibility will probably do more harm than good. This is on the point of derailing into an anti-"simple"-text-editor rant so I will stop. I will just mention that I did invest what I consider to be significant time into learning vim and using some plugins but I still would not use it for a really serious project other than making small edits. | ||
|
phar
United States1080 Posts
On January 05 2014 21:06 Morfildur wrote: If you work in a project spanning 400k+ lines, several hundred classes and half a dozen frameworks, as i do at my PHP web development job, autocomplete becomes a huge timesaver. Not because it saves you from typing those 5-10 more characters, but because Unfortunately there's also an upper bound on size where Eclipse just groans, shudders, and dies every 5 seconds because your code base is too large ![]() Greyscreen, wooo. | ||
|
sluggaslamoo
Australia4494 Posts
On January 06 2014 05:41 phar wrote: Unfortunately there's also an upper bound on size where Eclipse just groans, shudders, and dies every 5 seconds because your code base is too large ![]() Greyscreen, wooo. Relevant Next article: Eclipse Sits On Man's Couch, Breaks It New Hampshire programmer Freddie Cardenas, 17, describes the incident: "We invited Eclipse over for dinner and drinks. Eclipse sat down on our new couch and there was this loud crack and it broke in half. Those timbers had snapped like fuckin' matchsticks. Then my mom started crying, and Eclipse started crying, and I ran and hid in my bedroom." Sawse - http://steve-yegge.blogspot.com.au/2010/07/wikileaks-to-leak-5000-open-source-java.html | ||
|
phar
United States1080 Posts
Worth noting that you can actually do giant code base work in Eclipse, as long as you aren't building too much from head. If most stuff is tucked away in smaller pieces, it can actually handle pretty monolithic stuff with functioning auto complete, auto import, and all that jazz. But build from head, and ctrl+space turns into a "please halt for 5 minutes so I can go get some coffee" button. | ||
|
IronManSC
United States2119 Posts
| ||
|
icystorage
Jollibee19350 Posts
| ||
|
IronManSC
United States2119 Posts
On January 06 2014 17:15 icystorage wrote: do you have previous coding experience or is it your first language? html and css | ||
| ||
Eclipse is better than pure text editor, but it is poor IDE compared to VS for example. 
