Slashdot Mirror


A Dev Environment for the Returning Geek?

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?"

37 of 156 comments (clear)

  1. I am in a similar situation by marcus · · Score: 3, Insightful

    And am currently enjoying Ruby.

    --
    Good judgement comes from experience, and experience comes from bad judgement.
    - W. Wriston, former Citibank CEO
    1. Re:I am in a similar situation by Tooky · · Score: 2, Informative

      Download a smalltalk

      http://smalltalk.cincom.com/ - VisualWorks is free for non-commercial use.

    2. Re:I am in a similar situation by manjunaths · · Score: 3, Informative

      For starters try Anjuta or KDevelop. 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.

      --
      Slashdot: Tabloid for the nerds. Stuff that doesn't matter.
  2. Get a Mac by DrTime · · Score: 5, Insightful

    Get a Macintosh, they come with all the Developer Tools you need. XCode is an outstanding and powerful shell around the Gnu tools. The Mac OS X environment is feature rich with forward looking tools. The Macintosh world is not crowded like the PC world, so if you find a great idea, it might get noticed. At least take a look at it.

    1. Re:Get a Mac by Bastian · · Score: 3, Insightful

      So true. Also, clueful Mac users who might appreciate some crazy idea you got aren't afraid to download stuff they've never heard of before just to try it out, because there just isn't much spyware on a Mac. Same goes for Linux, of course.

      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.

  3. Plain and simple by TheSkepticalOptimist · · Score: 2, Interesting

    For Windows development, Visual Studio is the only way to go, and MS now has a series of Express Editions that offer Free C++, Visual Basic, or C# development tools. Note that Express Editions do not allow you to sell or distribute your software, but as a hobbyist, they are great tools for getting back into software development without spending a dime.

    I have found NO free development tools for the Windows platform that are easy to use and as well thought out as the Visual Studio product line.

    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.

    I can't suggest anything for Linux, except that CodeWarrior also makes a Linux IDE. I don't recommend developing software using cheap command line text editors or gcc compilers, unless you love being counter productive and frustrated.

    --
    I haven't thought of anything clever to put here, but then again most of you haven't either.
    1. Re:Plain and simple by voxel · · Score: 2, Insightful

      Funny, I was thinking ObjC is nice and C++ "is an antiquated and bastardized attempt at object orientated programming".

      --
      Modesty is one of life's greatest attributes
    2. Re:Plain and simple by misfit13b · · Score: 5, Informative
      Note that Express Editions do not allow you to sell or distribute your software...

      That's not what I'm reading in the FAQ, question 4.

      Can I use Express Editions for commercial use?

      Yes, there are no licensing restrictions for applications built using the Express Editions.
    3. Re:Plain and simple by GiMP · · Score: 2, Insightful

      The vi editor is an essential tool, imho. This is a "cheap command line text editor" as you call it. Personally, I simply can't imagine working without it.

      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.

    4. Re:Plain and simple by Bluesman · · Score: 2, Interesting

      Python has a lot of modules that would really help you do what you want.

      Perl and Java, also. I'd probably recommend them in that order.

      They all have fairly comprehensive reference material and some good tutorials on the web.

      My favorite development environment is still emacs with the vi key bindings, but IBM's Eclipse is also very good if you're doing Java, and you have a fast enough machine to run it.

      In fact, trying Java out is much easier with Eclipse, as it fills in a lot of the code for you, and lets you know immediately when you're making a mistake. I've found it very helpful while learning Java, but later on the usefulness of that diminishes and I want my good text editor back.

      Finally, I love C and gtk+ for unix apps. If you're interested in the "guts" of the machine, you really can't beat that combo, and it's very powerful.

      --
      If moderation could change anything, it would be illegal.
    5. Re:Plain and simple by cursion · · Score: 4, Informative
      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.

      --
      remember when it was {of|for|by} the people?
    6. Re:Plain and simple by OmniVector · · Score: 4, Interesting
      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.
      I can tell someone's never done modern development for Mac OS X. At all. First off, obj-c is a MUCH better OOP environment than C++. Check out my tutorial for a whole host of good reasons why. Categories, posing, dynamic method forwarding, delegates instead of subclassing, no confusing static AND dynamic allocation, no multiple inheritance, NO TEMPLATES, amongst many other things that C++ just plain sucks because of. Also, CodeWarrior is a horrible (and expensive) dev environment compared to the free Xcode environment.
      --
      - tristan
    7. Re:Plain and simple by nhstar · · Score: 2, Interesting

      I'd argue against the "no free" stuff for windows. I've been tinkering (sadly, not prolevel) with #develop for a while now. Since all of the .Net framework is available to any windows install, it's at least as up to the task as VS.Net is... and the plugin array makes it almost as flexible as using Eclipse. But .Net on windows right out of the... uh... installer. Plus, the guys who put it together thought plenty ahead and hooked their help system directly into MSDN for up-to-date info.

      and yes, it's open source.

      Will you like it? *shrugs* for a 5 (or less) minute download on my dsl line, it was worth trying out. Especially without restricting any distribution of your creations.

      --
      --- no sig to see here... move along.
    8. Re:Plain and simple by topham · · Score: 2, Interesting

      Never mind CodeWarrior is deprecated for Mac OS X development.

      With the move to Intel processors you're pretty much left with the XCode tools, a long with gcc, etc.

      Not a bad thing in my mind. While I have not done much development with it, inspite of my intent every few months to give it a go I have found XCode to be a decent tool and Objective C to be very interesting.

      When I had the time, years ago, I spent a lot of time trying to learn C++ and it made no sense. (since then they have created STL to solve my major issues with it.) It felt like everything was just an extension using pointers (not true I know, but thats what it felt like). Objective-C makes sense.

      Even when I fight with the syntax, I generally realize it's me with the problem (too procedurally centric), and not the syntax of the language. It seems to me it's what C++ should have been.

      For anyone else reading this:

      While not mentioned by the original poster, but mentioned by a couple of people anyway, if you're into developing under Windows get the Visual Studio Express a look. I downloaded and installed Visual Studio Express C#,a long with the free SQL Server edition. I was able to very quickly put together a program which can add and created records and haven't even read the documentation yet.

      (Actually the database application I am working on will be far more complicated, but what I am working for learning and testing with now is 3 tables to support a many to many relationship and was pleasantly surprised at how much the tools handled automatically. I expect I may hit a wall and have to drop most, or all of their automatic code generation.)

      I'd do this project in ObjectiveC in XCode, but it's not for me when I'm done. :(

  4. Just great!! by TheMegalomaniac · · Score: 2, Funny

    Like we don't have enough competition from outsourcing ... now management's starting to get into it ..just great .. I'll trade you my programming cubby hole for the business unit leader oak desk ..

  5. I'd say... Java by FooAtWFU · · Score: 2, Insightful
    Look into Java. Really. It'll run on *nix, Mac and Doze, and a good toolkit framework like SWT is plenty shiny. Yes, you'll suffer from slightly lengthy load times and memory usage and all that stuff. But there are plenty of Java IDEs, especially Eclipse and various Eclipse-based toys.

    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...

    --
    The World Wide Web is dying. Soon, we shall have only the Internet.
    1. Re:I'd say... Java by phill7 · · 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.

  6. Depends on what you want to do by joib · · Score: 4, Informative


    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 combined with some gui toolkit such as wxpython or pygtk.

    ...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.

    1. Re:Depends on what you want to do by pthisis · · Score: 3, Interesting
      Python + wxpython is a great choice. Python is a full-fledged language, not a scripting language (although it can be used for scripting). It scales well from rapid development/one-offs to large multi-site dev team projects (our current project is about 300,000 lines of code).

      It's also very easy to write C extensions for Python if you ever run into a situation where you need to access something that's not available (unlikely) or squeeze out some more speed.

      For gui building, wxglade is quite nice as a visual builder.

      As far as a development environment, I strongly recommend going with an unbundled editor like vim (with the Cream bindings if you don't like vi modal editing and want keybindings like a normal windows app) or emacs. That way you can stick with it with every language you use, and it's easy to integrate it with other tools. They're both liable to be installed if you wind up logged in on foreign machines, and both have all the whizz-bang features that IDE users somehow think aren't available in real programmer's editors (probably because they associate "editor" with "Notepad"). They're free and widely supported.

      People always harp on the unique features of emacs and vim, so maybe people forget that they do the standard stuff as well:
      • Syntax highlighting/indentationn
      • Code compilation/validation on the fly (syntax-error checking, so if I'm coding python and type "if a=1:" it'll know that I needed an == there and immediately highlight the syntax error)
        context-sensitive help (if I type "cmp(" then the status line shows the help text for the cmp function)
      • intellisense-style completions
      • class browsers (I have menus showing all the parent/child classes of the current class and all it's methods, or can jump to a top-level class listing)
      • code browsing (I can follow function/method calls down a stack and pop back where I came from, and get a cscope-style listing of all the places that call a particular function/class)
      • refactoring tools (I can easily rename classes/methods/etc throughout the project)
      • Source control integration (including side-by-side diffs between 2 versions of a file with similar portions elided and differences highlighted).
      • Outlining/folding (so I can go to a file, hit F6 to see only the class/method definitions, find what I'm looking for, and hit F6 to expand out to everything--it's a lot more than that, but that's the simplest use case if you haven't used folding before).


      All of it in vim, though emacs is an equally reasonable choice. Just because they're old doesn't mean they don't have great features.
      --
      rage, rage against the dying of the light
  7. Delphi by SAN1701 · · Score: 2, Informative

    Go to Borland download page 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!

  8. Python is a good place to start by Dan+Ost · · Score: 3, Insightful

    Take a look at learning python. It's easy to learn, fast to develop in, and remarkably flexible and powerful. It comes with it's own IDE (idle), but there are lots of IDE's that support it out there (I use VIM with color coding since most IDE's give me the creeps).

    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.

    --

    *sigh* back to work...
  9. Some ideas by hedronist · · Score: 4, Interesting

    You don't really say what type of problems you want to work on and that can make a big difference in what environment you choose. Kernel hacking leads in one direction, and DB-driven websites goes in a completey different direction.

    Speaking as a GeezerGeek(tm), here are some of the technologies I have found that are something more than The Next Great Thing ver 31.4.

    1. Python. It took me a while to get past the indentation-as-block-structure thing (I still think it was a mistake), but this is a language that tremendous expressive power. If I were still teaching, this is the language I would start my students with, knowing that they could go anywhere they want with it.

    2. If you are doing any sort of web work, you will probably have to do a little (a lot?) PHP. Fortunately, v. 5 has fixed some of the nastier aspects of the language, although there appears to be no way to undo some truly horrible naming convention mistakes from its early days.

    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.

    5. If you are picking up a DBMS, the obvious choices are MySQL and Postgres. If I were just starting, I think I would go with Postgres, if only for OSS purity reasons. OTOH, I have had no problems with MySQL for the relatively low-level situations I have used it and it is generally more available as part of commercial hosting packages.

    "Back in the day" I taught programming, so here are a few recommendations for your first few projects.

    A. First, pick something fun and relatively simple. I have found that a great way to get into a new language/platform environment is to implement a simple game (eg. hangman, snake, mastermind). The rules are very straightforward, yet they will force you to at least dip your mental toe into logic flow, class structure, I/O and UI, file storage (for high scores), etc. Most of them can be implemented in a few hours and you get that immediate feedback of success. If you are feeling your oats, you might try things like using Python's generators as nanothreads for animation sprites. See the Lightweight Games Toolkit at http://lgt.berlios.de/ for some ideas. (Obviously, this should *not* be for your first project! :-)

    B. Pick an area of application that you are already a domain expert in. This way you can focus on the "how", instead of the "what" or the "why".

    C. Find a good OSS project and implement a few new features. For example, if you are interested in photography, you might grab Gallery 2 from gallery.menalto.com and try adding a feature to an existing layout module, or try creating a new layout, using an existing one as a template.

    D. Find an interesting-but-broken OSS project and dive into the code. Maybe you can breathe new life into a moribund project.

    1. Re:Some ideas by teknico · · Score: 2, Informative

      > 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/). 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) 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. :-)

    2. Re:Some ideas by Hast · · Score: 2, Informative

      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 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 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.
  10. Why? by Anonymous+Brave+Guy · · Score: 2, 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.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    1. Re:Why? by SilverspurG · · Score: 2
      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?
      To gain thorough familiarity with the underlying principles of the system and assist the developers of the drag-and-drop programming interface in improving their product.

      Programming a large application is as large and complicated a task as building a house. If you use a drag-and-drop point-and-click system it will be larger, there will be more cruft, there may be more logical problems in the code, some important features may be left out if they're not made readily available in the interface, and the programmer learns very little about the underlying system. Programming with a text editor will take forever but, if done properly, will be practically perfect. Assess the field and evaluate your goal properly before choosing. It's likely the correct decision will involve a combination of both techniques.

      The GP's post was mostly good. Ascribing all text programming to a masochistic addiction to counter productivity and frustration is the troll. It demonstrates a complete lack of anything but the shallowest level of understanding of the art form.
      --
      fast as fast can be. you'll never catch me.
  11. Re:Simple by MaggieL · · Score: 3, Insightful

    If you still have your balls and haven't turned sissy, then the only choice is vi in an xterm...

    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...

    --
    -=Maggie Leber=-
  12. Take a look at the O'Reilly book by Matt_Doar · · Score: 2, Informative

    Practical Development Environments http://www.oreilly.com/catalog/practicalde. 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)

  13. Codewarrior is dead by wandazulu · · Score: 2, Insightful

    Metrowerks (sorry, Freescale) already announced that there will be no more OS X version of Codewarrior (nor Windows...they're going for the embedded market now).

    Dunno about their Linux IDE, but I wouldn't be surprised if that gets shut down too.

  14. Tremendous progress in development tools by Raskolnk · · Score: 4, Funny

    There have been major developments in programming environments over the years. The most significant of these are as follows: vi has been improved, emacs has syntax highlighting, and the Bourne shell has been born again.

    A lot of people went on some tangent about these IDE thingies. Don't worry about that, it proved to be totally useless in the end.

    --
    Don't blame me, I get all my opinions from my Ouija board.
  15. Widget Engines? by slthytove · · Score: 2, Informative

    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 (Win + Mac) - JavaScript-based logic
    • SuperKaramba (Linux KDE) - Python-based
    • gDesklets (Linux Gnome) - Python-based
    • Kapsules (Win) - Any Windows scripting language-based, including JScript, VBScript, JScript.NET, VB.NET, Perl, PHP, Python and Ruby
    • Dashboard (Mac) - HTML/JavaScript-based
  16. Depends on what you're writing by andy753421 · · Score: 2, Interesting

    Personally I would like to know two languages really well. To me it seems like there's two types of programs that I would write, big programs and small programs. For the big ones I would want to use common mature language like C/C++ (or Java if you prefer) that way the program will run faster and pretty much everyone can run C executable or Java bytecode. Then for the smaller ones I would like to know some sort of 'scripting' language such as Perl/Python/Ruby/php/etc where I can quickly write things down and have not have to worry about the troubles of datatypes, compilations, and other such hairy problems I run into when writing in other languages. You may also want to consider what you will be doing most. For example php is pretty much designed for use on web pages. I don't how how true it but judging from programs I've seen python seems to be good for large projects if you still want to use a scripting language, and I don't think I've ever seen perl used for anything that included more than a few files. There's also portability to consider, C/C++ may be nice but it is still harder to make cross-platform than something like Java or any of the scripting languages. If you write code in Visual Studio you may run into problems using it on anything other than Windows (although there's Mono, most users don't have it installed). The same goes for Java if your uses are among the 'faithful' and refuse to use the sun java implementations. As for GUI toolkits most of them have bindings in whatever language you choose, and for choosing a toolkit it's really up to you. As far as I'm concerned they all do the same thing so it's just a matter of which programing style you like best. Again you may want to consider what your users will already have installed. For IDE's i think it mostly depends on what language your using. I prefer a text editor for a lot of things, however Eclipse is great for Java and there's some that tailor to the likes Qt and GTK such as Kdevelop and Glade, however I have never used any of them. (oh, and if you're really hardcore you could just skip out those overrated editors all together and just use '# cat - >')

  17. Eclipse RCP by curious.corn · · Score: 2, Interesting

    You might be interested in the Eclipse RCP developing environment. It's Java based so it will run just about anywhere, it's heavily OO design patterned so there's quite a bit of API to chew but it has a nice GUI editor. I'd give it a bite...

    --
    Mi domando chi à il mandante di tutte le cazzate che faccio - Altan
  18. Welcome! by gnarlin · · Score: 4, Funny

    Welcome back Bill!

    --
    A bad analogy is like a leaky screwdriver.
  19. Console + vi + cc = like 20 years never happened by AHumbleOpinion · · Score: 4, Funny

    I have started to really miss hands on coding - something I haven't done for almost 20 years.

    Fire up a console under Linux, use vi and cc, and you'll feel right at home as if 20 years had not passed. ;-)

  20. Lazarus by marcovje · · Score: 2, Funny
  21. you must be kidding by penguin-collective · · Score: 2, Interesting
    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.

    I don't actually like Objective-C or Xcode, but there is one thing where they are clearly superior to C++: Objective-C is far closer to what object oriented programming is about than C++. As Alan Kay wrote:
    "I invented the term Object-Oriented, and I can tell you I did not have C++ in mind."