Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Programming Technology

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?"
This discussion has been archived. No new comments can be posted.

A Dev Environment for the Returning Geek?

Comments Filter:
  • by joib ( 70841 ) on Tuesday December 20, 2005 @01:10PM (#14299548)

    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.


    In that case I'd recommend something like python [python.org] combined with some gui toolkit such as wxpython [wxpython.org] or pygtk [pygtk.org].

    ...into the guts of the machine


    Since you're on some unix-like system, you could do worse than plain C and a few books (C:ARM5 by Harbison & Steel and Advanced Programming in the Unix environment by Stevens spring to mind). Some asm knowledge might be useful too.

    As for tools, frameworks etc. there is of course an unending list of those. For an IDE, a like emacs code browser [sourceforge.net].
  • Re:Plain and simple (Score:5, Informative)

    by misfit13b ( 572861 ) on Tuesday December 20, 2005 @01:13PM (#14299569)
    Note that Express Editions do not allow you to sell or distribute your software...

    That's not what I'm reading in the FAQ [microsoft.com], question 4.

    Can I use Express Editions for commercial use?

    Yes, there are no licensing restrictions for applications built using the Express Editions.
  • Delphi (Score:3, Informative)

    by SAN1701 ( 537455 ) on Tuesday December 20, 2005 @01:13PM (#14299570)
    Go to Borland download page [borland.com] and get the free Delphi Personal. I work with many languages (C#, Objective-C, 4D, sometimes Java), but Delphi is the most productive and fun to use, by a wide margin. As a plus, you can generate apps for both win32 and the .NET framework, with the same language.

    Have fun in your return to coding!
  • Its primary focus is Java, but you can use it for multiple languages. If you were to spend time with an IDE (and some would say that in itself is evil) Eclipse is the one I would pick.

    http://eclipse.org/downloads/ [eclipse.org]

    Going further, I'd probably say you want to putter around with web applications. (Tons of people out there doing PHP, etc, but I would stay on the Java side of the fence) Building web apps, you can start with the spaghetti pages filled with scripts, start encapsulating code, pick up on a MVC framework, DB access, or deployment frameworks. I'd shy away from doing client applications. Again, from the Java camp, I'd snag a copy of Tomcat for my local playground. Anything you do inside the JSP/Servlet container is more or less applicable to BEA or IBM's application server. Nice debugging tools that let Eclipse and Tomcat play together.

    http://tomcat.apache.org/ [apache.org]
  • by Tooky ( 15656 ) <steve.tooke@gmai[ ]om ['l.c' in gap]> on Tuesday December 20, 2005 @01:23PM (#14299655) Homepage
    Download a smalltalk

    http://smalltalk.cincom.com/ [cincom.com] - VisualWorks is free for non-commercial use.
  • by Matt_Doar ( 866118 ) <mdoar@NOSPAm.pobox.com> on Tuesday December 20, 2005 @01:54PM (#14299947) Homepage

    Practical Development Environments http://www.oreilly.com/catalog/practicalde [oreilly.com]. This covers all manner of tools: version control, build tools, testing environments, bug tracking, documentation and release. Each chapter talks about general ideas, and then looks at specific tools (some open, some closed).

    ~Matt

    (Disclaimer: I wrote it)

  • Re:Plain and simple (Score:5, Informative)

    by cursion ( 257184 ) on Tuesday December 20, 2005 @02:15PM (#14300248) Homepage
    For Mac development, the free XCode tools are good, however I would look into CodeWarrior because ObjectiveC, in my opinion, is an antiquated and bastardized attempt at object orientated programming, CodeWarrior offers C++ access to OSX programming API's.


    As nice as it is, you might want to avoid CodeWarrior on Mac - arent they killing this product with the move to Intel?

    XCode would be the way to go on a Mac - it handles different languages.

  • Widget Engines? (Score:2, Informative)

    by slthytove ( 771782 ) <.moc.liamg. .ta. .nella.m.semaj.> on Tuesday December 20, 2005 @02:38PM (#14300608) Homepage

    Although these haven't really taken off on Linux yet, there are several "widget engines" (for lack of a better, encapsulating term) that have become quite popular over the past couple years. You mentioned a desire to do small, web-fetching things - that's what many Widgets end up being. On top of that, the logic is usually handled with readable scripting languages, there's usually no compilation required, and it's very easy to get nice-looking graphics up alongside the code.

    I've recently started doing most of my personal development in the Yahoo! Widget Engine (formerly known as Konfabulator), which is available on both Windows and Mac. Here are a few of the Widget environments that I'm aware of...

    • Yahoo! Widget Engine [yahoo.com] (Win + Mac) - JavaScript-based logic
    • SuperKaramba [sourceforge.net] (Linux KDE) - Python-based
    • gDesklets [gdesklets.org] (Linux Gnome) - Python-based
    • Kapsules [kwidgets.com] (Win) - Any Windows scripting language-based, including JScript, VBScript, JScript.NET, VB.NET, Perl, PHP, Python and Ruby
    • Dashboard [apple.com] (Mac) - HTML/JavaScript-based
  • Re:Some ideas (Score:2, Informative)

    by teknico ( 217206 ) <slashdotNO@SPAMtekNico.net> on Tuesday December 20, 2005 @06:27PM (#14303710)
    > 1. Python. It took me a while to get past the indentation-as-block-structure
    > thing (I still think it was a mistake)

    Your comment got to 5, so somebody's got to say it. Significative indentation is nothing less than a stroke of genius. You indent your code anyway, right? So why is everybody forced to keep track of *two* kinds of block delimiters at the same time? Get rid of the stinkin' parentheses, and be done with it!

    The rest of #1 is spot on, however.

    > 2. If you are doing any sort of web work, you will probably have to do a
    > little (a lot?) PHP.

    Why on earth should he *have* to use such an inferior language? Python has lots of fine tools for web work. I advise using Twisted (http://twistedmatrix.com/ [twistedmatrix.com]). Its asynchronous event-based concurrency model may look peculiar at first, but being able to avoid the evil preemptive multithreading is priceless. And there's *lots* of Internet protocols in there for the taking!

    > 3. AJAX. It's worth a look if you want to stay within the browser's window.
    > And that means you should get good Javascript/CSS/XML/HTML books.

    Javascript can get messy: AJAX needs all the hiding it can get. Nevow (http://divmod.org/trac/wiki/DivmodNevow [divmod.org]) has great support for it in the Athena package, based on Mochikit. See the other Divmod tools, there's great stuff in there.

    > 5. If you are picking up a DBMS, the obvious choices are MySQL and Postgres.

    Do yourself a favor and use PostgreSQL, or SQLite. MySQL has a dubios history, and is often used together with PHP, which is similarly quirky.

    It bears repeating: you wanna have fun, and at the same time learn a powerful language? Use Python, there's nothing quite like it around. I've been working with it for six years now, and it's been fun almost every day. :-)
  • by manjunaths ( 83313 ) on Wednesday December 21, 2005 @07:25AM (#14307709)

    For starters try Anjuta [sourceforge.net] or KDevelop [kdevelop.org]. Both of them are really complete IDEs.
    If you really want to just have fun you should go with Ruby, it is designed 'to enhance the pleasure of programming' according to the author. But that doesn't mean it is not powerful, just look at rails. There are online books that will help you get started. There is also a nice channel on freenode, #ruby-lang, with really helpful folks.


    If left to me I would say emacs, the learning curve is slightly steep, but there is nothing to beat the versatility.

  • Re:Some ideas (Score:3, Informative)

    by Hast ( 24833 ) on Wednesday December 21, 2005 @02:20PM (#14310709)

    3. AJAX. It's worth a look if you want to stay within the browser's window. And that means you should get good Javascript/CSS/XML/HTML books.

    4. Firefox-as-UI-platform. This is related to the above. I am just beginning to get into this and it looks very promising. Other people know far more than I do. The GreaseMonkey extension is great fun to play with.

    There is quite a lot you can do with just this since the OP seems to want a way to hack around with webpages. And with some creativity you wouldn't even need to run a local server.

    Look at Tiddly Wiki [tiddlywiki.com] for an example of what you can create with some creative ECMA scripting. (In short, it's a wiki encapsulated in a single .html page, which you store on your local file system.)

    GreaseMonkey [mozdev.org] has already been mentioned. But it may be worth to point out that this does pretty much exactly what the OP wants. It lets you mangle webpages as you download them via client side ECMA scripts.

    Otherwise I agree with the idea of trying Python. It's a good demonstration of the progress that computer languages have made in the last 20 years.

"What man has done, man can aspire to do." -- Jerry Pournelle, about space flight

Working...