The Watchtower of Destruction: The Ferrett's Journal - The End Of My Superhero Career
The End Of My Superhero Career|
For the past three-and-a-half years, I've been programming all my PHP in Macromedia Dreamweaver - which is certainly a nice program for Web design. But aside from a couple of AutoComplete functions, I was pretty much using Dreamweaver as a glorified Notepad. I knew that there were, theoretically, some Integrated Design Environments floating about that could boost my productivity, but I never really had the time to download a few and pick through 'em.
But today, I decided that I'd go about for a bit and see what a good IDE could do for me.
Oh. My. Fucking. God.
If you're not a programmer, it's hard to come up with a metaphor that can explain this to you- but imagine, after three years of calculating your home finances with glass beads and fur, someone finally clears their throats and mentions "By the way, *cough cough*, Quicken." Suddenly, I am lifted up on the wings of programs that will check my brackets for me, ensure I have no syntax errors, parse parentheses and catalogue my many functions inside each object so that I can find them at a single click. It is to fucking die for, and now when I upload my scripts I don't have to cringe and wonder whether I'll get that deuced T_ECHO error on line 225 crap that I do so hate.
In addition, I've been working extensively with data objects to make my life and SQL queries infinitely easier, and am in the process of creating a real object-oriented system that's not just a collection of random functions tossed hastily into a class. I'm discovering the joys of seven-line protected functions commented extensively with PhpDocumentor.
It's like I opened the door and there's a whole new world, right in my face. And that breeze from the outside feels mighty fine, my friends, mighty fine.
Two things here:
1) The title was taken from a post I considered writing earlier, but forgot. I kinda liked it.
2) After downloading about four IDEs, including PHPEclipse
, I'm working with the Zend IDE
. It's a little slower than the other IDEs, since it's written in Swing Java, but the features are unparalleled - the Code Analyzer is a nice double-check, and the real-time syntax checking is the best on the market. It costs money, but I'm pretty sure I'll be hitting Pete up for it soon.
|Date:||April 27th, 2006 11:38 pm (UTC)|| |
what do you think is the best free IDE?
PHPEclipse was definitely up there. It was neck-and-neck with the Zend for awhile; I just don't like the interface as much.
|Date:||April 28th, 2006 05:08 am (UTC)|| |
Eclipse is the way to go...it's free, where as Zend, iirc, is a copyrighted product, which you eventually need to pay for.
in any case, it's not so much as PHPEclipse as Eclipse with plug-ins for whatever you need (in this case, PHP).
but in the end, the best ide for you is always the one that you feel comfortable with. we still have decent programmers at work doing all their php work in vi.
90% of this entry is as utterly meaningless to me as if you had babelfished it into Norwegian, but I really like the glass beads and fur bit.
Jeg forstorr at han er riktig; IDEen er god. Med jeg likke emacs og gdb :)
|Date:||April 27th, 2006 11:39 pm (UTC)|| |
I've been pretty happy with plain old GNU Notepad++ myself. It doesn't do code completion, but it's got the best syntax coloring I've ever seen in a free program, code folding, macros, and a plugin interface.
Now, something interesting to note - the server I have to develop for uses PHP/4.1 and lemme tell you how frustrating it is to have to deprecate code to work with it.
Anyway. Do you (or anyone else) know of a good free IDE that does code completion and has built-in FTP? 'Cause those are the features I'm interested in.
|Date:||April 27th, 2006 11:52 pm (UTC)|| |
Well...emacs has built-in FTP >:) Probably code completion too, if not you could write it yourself in elisp.
I don't know about built-in FTP, but try PHPEclipse (which is Eclipse with PHP plug-in); it was pretty decent.
As far as PHP 4.1, it's what I learned on, but true OO it is not. It's interesting, how I'm learning the power of OO largely by seeing the failings of the Php 4.1 branch's implementation of it.
Sounds like you found the programming equivalent of Narnia. :D
Good on you.
What is wrong with glass beads and fur? It was good enough for my parents, it is good enough for me!
I can't recommend Komodo
enough. It's been worth the $295 for the last few years.
Yeah, that's the one remaining one I need to check out. Thanks for reminding me.
|Date:||April 28th, 2006 05:14 am (UTC)|| |
I've been using Komodo quite happily for perl for a few years now. A bonus if you shell out for one of Activestate's professional-level deals is a 5-slot subscription to Safari.
I understood maybe about a third of what you said, but can relate in general. Congrats on making that quantuum leap!
Yeah, I don't do much with PHP, but I like to use Dreamweaver mostly on the coding side (and not as a WYSIWYG editor), but I like being able to edit the HTML and CSS right in one 'workspace' and seeing my changes as I go along.
I've never found an IDE that I've liked as much as Vim. The incredible flexibility and customization in Vim (I've got four years worth of edits to my .vimrc file now) make it impossible for me to go to any editor which doesn't allow that. I've got PHPEd at work, which is cool since it allows remote debugging and profiling, but I rarely use it -- for most coding I just wind up sticking with Vim.
In order to be a computer language programer and/or a degree in computer science, do you have to have/does it help to have good math skills? There are so many jobs out there (it seems) for computer science majors, but I'm a liberal arts idiot who has good reading and writing skills but who can barely add two plus two, so I didn't know if I'd even be intellectually capable of pursuing this kind of degree.
A couple of things... You don't have to have a degree in comp sci to be a programmer. My guess is that any comp sci department is going to require at least calculus, and will definitely require a discrete math course. Any algorithm analysis course you take will be quite math heavy, that's why they require the calculus.
Also, have you tried programming? Above and beyond math skills, it requires a way of thinking and looking at the world that a lot of people have trouble with. Being able to break a problem down into really really tiny component parts in such a way that the parts mesh together well and have lots of repetitive bits doesn't seem to come naturally to many.
Another career option if you want to work with computers is either tech support or system administration. Those are even less likely to require a comp sci degree.
Thanks for the information! I'll look into these two other options too. :-)
I _have_ good math skills, but pretty much never use them in my coding. Logic skills are what you need, not maths.
But what you need to do is take a coding course (or jut plain write some code for yourself) and see how you do...
|Date:||April 28th, 2006 12:35 pm (UTC)|| |
You don't need to have good math skills, unless the software you intend to code requires it (think financial systems, graphics or game engines, scientific applications, etc.). I've been coding business applications for 13 years now, and none of the systems involve complex mathematics.
You don't need to have a computer science degree to get a job in programming. I was a Communications major with a minor in English.
You need to be able to think logically.
If you have good editorial skills, and think logically, you will make a good programmer.
When I started programming I used WordStar and a command-line compiler...needless to say, the tools have gotten much better. The first time I used an IDE, it was a Renaissance.
|Date:||April 28th, 2006 02:22 am (UTC)|| |
I go between Xcode at work (no debugging until I get time to put some scripts together, but great completion and project management) and Vim via screen when working remotely.
I've tried PHPEclipse a few times, but Eclipse blows chunks in MacOS X...
|Date:||April 28th, 2006 12:32 pm (UTC)|| |
Some of my favorite features of the .Net IDE:
- Method navigation, where you hit F12 to jump to a variable or method declaration
Then there's immediate watches, stack traces, etc. It totally makes a world of difference.
am in the process of creating a real object-oriented system that's not just a collection of random functions tossed hastily into a class.
If you're looking to add books to your library, I recommend the following:
- Patterns for Enterprise Application Architecture by Martin Fowler
- Design Patterns: Elements of Reusable Object Oriented Software by Gemma, Helm, Johnso, and Vlissides
"If you're not a programmer, it's hard to come up with a metaphor that can explain this to you-"
- It's like losing your virginity.
Tho if you're a stereotypical programmer geek, it's hard to come up with that *particular* metaphor.
|Date:||May 4th, 2006 10:13 pm (UTC)|| |
If you really want to do OO design, you should get your hands on Design Patterns from the mid-90s. It had four authors. But it started a trendy movement called a 'patterns movement'.
The real point is that it shows you what kind of nifty tricks are possible using OO techniques.