A Dev Environment for the Returning Geek? 156
InsurgentGeek asks: "I'm about 25 years into my career in technology. Over that time, I've done the standard progression from developer to architect to team leader to program leader to business unit leader. While I've stayed up to date on general technology trends (perhaps more than about 95% of my peer group) - I have started to really miss hands on coding - something I haven't done for almost 20 years. It's not for my job, and I don't plan to make any money at it - but I'd like to get back to coding on at least a recreational basis. Here's the rub: what are the right tools?"
"'Back in the day...' you had about 2-3 choices of languages and perhaps the same number of OS's. There were not frameworks, API's, development environments, etc. I'd like to pick a toolkit and learn it. My goals are pretty simple: I want to write applications that have a great look & feel that will primarily be pulling information from the web (think weather & news), play with that information and present it in interesting ways. I'd like those applications to be usable on the Linux and perhaps Mac OS X platforms. I'm not a complete non-techie. I use Linux at home, have set up all the toys like Squid and BIND - but this is just administration. I need to get back into the guts of the machine. If you were me where would you start? What language(s) would you want to become conversant in? What do I have to worry about beyond the choice of the language itself? What frameworks? What other tools?"
I am in a similar situation (Score:3, Insightful)
Get a Mac (Score:5, Insightful)
Re:Indeed (Score:1, Insightful)
The only comments worth reading in this thread are from the low-ID 30 & 40-somethings in the slashdot crowd. "Install Debian"? The guy wants to program, not install a whole OS to do it.
I'd recommend playing with python and/or ruby. Works on almost everything and are a lot of fun.
I'd say... Java (Score:3, Insightful)
Other than Java, most of the really cross-platform *nix/Doze/Mac stuff I've really seen has been GTK-based: X-Chat, Gaim, and such. This would be mostly C/C++ work, but I'm not particularly up-to-date on compiling this sort of stuff for Windows. The other thing to consider is whether you can stuff everything into a web-based application. You can do a lot these days, especially with the JavaScript DOM- look at Gmail, Google Maps, and such. This is nearly the ultimate cross-platform solution, but might be tricky to pick up if you're not familiar with HTML and CSS and JavaScript at least a little already. It also suffers from the usual limitations associated with web apps. You might look into Flash for applications as well if you're going for pure shininess- though it generally has similar limitations and all the drawbacks associated with Flash itself, especially with the usual Flash environment costing an arm and a leg...
Re:Plain and simple (Score:2, Insightful)
Python is a good place to start (Score:4, Insightful)
Give yourself half an hour and walk through the tutorial at www.python.org.
I still do most of my work in C/C++, but Python is my language of choice for new projects that don't already have lots of legacy code.
Re:Plain and simple (Score:3, Insightful)
However, you're right in the idea that IDEs *do* offer something that the commandline doesn't. This is why, if I am to use an IDE, I use Eclipse with the ViPlugin.
Why? (Score:3, Insightful)
Sorry, but since when is expressing an honest opinion a troll? I know a lot of people who would agree that relying on CLI voodoo really is needlessly inefficient for many programming tasks. Use the right tool for the job, or write the right tool first if it doesn't exist yet and then use it.
Sure, you can design dialog boxes by writing scripts in an editor, but why bother when you can use an interactive GUI to do it in 1/10th the time? Sure, you can write, debug and test your Perl CGI script using nothing but the command line tool and a live web server that's firewalled off the outside world, but why bother if you've got a test environment that's designed to simulate CGI requests from a web page and has testing tools to make that easy?
Personally, I don't think anything has yet beaten a sufficient powerful text editor for doing web work (HTML, CSS, that sort of thing). All the web design applications I've encountered are just too limiting and under-powered. For programming anything from a moderately long script to a full-scale application, though, I concur with the grandparent post: there are plenty of tools to make common programming tasks easier. Someone like the submitter will probably have plenty to learn at first, without trying to do it with one hand behind his back and spoiling the enjoyment by learning to write pages of boilerplate rather than using the right tool for the job.
Re:Simple (Score:4, Insightful)
I'm sure the ultimate authority on cojones is to be found posting as a AC on Slashdot.
There's just so many out there who seem to be using balls for what brains are meant to do...
Codewarrior is dead (Score:3, Insightful)
Dunno about their Linux IDE, but I wouldn't be surprised if that gets shut down too.
Re:Get a Mac (Score:4, Insightful)
Even if Windows shareware/freeware developers succeed in rising above the unholy din of the Windows software scene, they are going to have a lot harder time getting me to try their stuff because I get fsckin' paranoid when I'm sitting in front of a Windows computer.
Re:Why? (Score:2, Insightful)
So, if I may ask, since when exactly is Emacs considered crap? Since when is gcc not up to the task?
Better have some answers before calling ME a troll!
Re:I'd say... Java (Score:3, Insightful)
I agree. I'm a C++ programmer and learned very fast to code in the Java language. Compared to the aging and incomplete C++ standard libraries, I found the Java standard libraries very complete and well integrated, which allowed me to devellop any kind of GUI and communication applications rather fast and without having to constantly seek for some extra libraries.
I also loved to use the great developper free tools available for that language, mainly NetBeans and Eclipse. Their code auto-complete and integrated help system features helped me to learn way faster the language and its available tools, and the Swing interface builder of NetBeans is really improving the speed of development of GUI interfaces (I didn't experiment Eclipse interface builder yet), once mastered of course, wich might require some extra time at the beginning. And all this for free!!!
Eclipse seems to become the standard, but NetBeans is really nice and does worth some attention too.