Tools Discussion - Kyle Fritz -22.10.2009
Back to all TELL Presentations
Slides
Heavy-Weight IDEs
- Netbeans is a heavy-weight but really flexible IDE compatibile with most modern languages but focused on Enterprise Java Web Apps
- Visual Studio is Microsofts super heavy IDE for C#, Visual Basic, and C/C++. There is a free version which is nearly fully featured. There's a 2010 version pending too.
- Eclipse is an extensible IDE originally geared toward Java. A lot of companies have developed plugins for Eclipse to do other development including Adobe's Flex and Embedded Chip manufacturers. I like Eclipse's open-source PyDev plugin (but not enough to use it on a regular basis)
Light-Weight Text Editors
- Komodo Edit is a great free, open-source editor (don't get suckered into the paid version, it's no different). Be sure to go throught the plug-ins and get the one for tab-completion (no idea why this isn't standard). Also learn how to make your own snippets, the ones your get are very limited.
- TextMate and it's clone E-TextEditor are nice fast editors but development on both of these is closed-source and is mostly dead
Interactive Shells
- iPython is an awesome replacement for python's interactive shell. Be sure to watch Jeff Rush's ShowMeDo video series to get up to speed
- Firebug is a fabulous way to debug and learn the web in general (check out how requests are made, css is composited, html changes) and javascript in particular. Particularily for jQuery. Also check out Komodo's fabulous code completion for jQuery (it's not enabled by default).
Other Tech/Tools You Should be Aware Of
- JUnit is a Unit Test frame for for Java. Unit testing is here to stay in professional software development and open source projects. Unit testing can be a complete mind shift or just a hobby. Have around the web and you'll see a lot of test frameworks including for Javascript, Python (includes options for standard unit tests and these nice doc tests), and C. Also see this absurdly long list of test frameworks.
- SQLite is is embedded database and is the glue behind almost every application that you used each day. From Firefox, iTunes, and Mobile Phones all use SQLite for persistence. Because it is embedded, SQLite does not require a seperate server process, making it perfect for use in a single application. Any language you'll encounter already has an adapter for SQLite and there's a nice add-on for firefox that will let you open up an db (including the one that holds your bookmarks and history).
- Qt is a cross-platform UI framework and general purpose toolkit. It really rocks pretty bad. It's powers mobile phones, sat-navs and other embedded devices and also finds it's way into all sorts of desktop apps. It's the framework of choice of C/C++ development but also have some nice python integration via PyQt
- Revision control. SVN is the most popular currently. TortoiseSVN can be a real help in windows. A lot of projects are at aleast talking about switching to distributed version control. Python is using Mercurial; Linux uses Git.
Other Questions/Tips/Concerns
- Please send Kyle Fritz an email. He'd be happy to talk computers with you or give advice.
|
|