Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Ultimate Software Developer Setup?

Cliff posted more than 8 years ago | from the coding-heaven dept.

Programming 757

wicked coding asks: "I'm a professional software engineer and I'm planning on building my ultimate setup for longer hours coding and hacking, but I'm kinda stuck when it comes with what to choose. What hardware would you choose to use, if money was no object? Obviously there may be some constraints on space. Leave no stone unturned, I'm looking for suggestions on desks, seating, lighting, keyboard and pointing device, monitors and even the computer system itself. Ideally it needs to be as comfortable and ergonomic as possible. What software would you choose to use, if the intended targets were Java and OO PHP5? Currently I'm using Eclipse on Gentoo. Is there a more suitable IDE that works with most popular OSS (and not so OSS) languages including XML, SQL, CSS, PHP, Perl, Java, and C/C++?"

cancel ×

757 comments

Sorry! There are no comments related to the filter you selected.

3 monitors (4, Informative)

winkydink (650484) | more than 8 years ago | (#13571026)

One facing straight ahead and two angling into your peripheral vision. Not only do you get a ton of real-estate, but you never have to worry about getting that even-tanned look on your face. :)

Re:3 monitors (2)

TLouden (677335) | more than 8 years ago | (#13571159)

actually, i have two above as well. the laptop docks into the center. two monitors are on the sides and two are above. I have two desktops that can attach to any of the four monitors and the other two can be used with the laptop. Currently, the sides are attached to desktops and the top is shifted so that one monitor is directly above the laptop and the other is used for which ever computer I'm building at the time.

Re:3 monitors (-1, Troll)

Anonymous Coward | more than 8 years ago | (#13571195)

OMG I LUV YOU!

I HOPE U R TEH GAY, JUST LIKE ME!!!

donnt usse soo manny capps, itts likke yellingg! loll loll loll

an unlimited supply of Xena tapes and hot pockets (1, Insightful)

Propaganda13 (312548) | more than 8 years ago | (#13571181)

Not stop playing on your big brother's computer before he finds out.

Honestly, I'd have given you a real answer if you had included a real budget.

The Solution to it all (-1, Flamebait)

Anonymous Coward | more than 8 years ago | (#13571027)

ad hoc

Paper and pencil (5, Insightful)

El Cabri (13930) | more than 8 years ago | (#13571028)

If you think you're going to produce better code by splurging $$$ on a shiny desk, maybe you should give up programming.

The accessories you need are a pile of paper and some good pencils, with which you can design your code nicely before you even fire up your IDE.

Re:Paper and pencil (1, Interesting)

mankey wanker (673345) | more than 8 years ago | (#13571087)

Best advice ever. My claim has always been that the computer is used only for confirmation purposes - I already know the code is good.

Most code I figure out in my head and usually while taking a shower for some reason.

Re:Paper and pencil (1, Funny)

Anonymous Coward | more than 8 years ago | (#13571228)

mankey wanker ...

Most code I figure out in my head and usually while taking a shower for some reason.


Hmmmm...

Re:Paper and pencil (4, Interesting)

Bastian (66383) | more than 8 years ago | (#13571245)

One thing I miss about being in college:

On large projects, I'd take my laptop to a classroom. Almost every important function was written in pseudocode on a chalkboard before I programmed it in C. My laptop bag was full of scratch paper with algorithm notes, ERDs, etc.

Even now at work, I don't have a chalkboard at my disposal (sigh), but my desk is an explosion of paper. I am regularly stopping by the recycle bins so I can grab some paper with a blank side, or to return some paper that is now covered on both sides.

An ounce of ink is worth a pound of keystrokes. =)

Re:Paper and pencil (5, Insightful)

CupBeEmpty (720791) | more than 8 years ago | (#13571128)

Well that is a little unfair. There are a lot of considerations that while they may not make your code any better, will sure make you feel a lot more comfortable while you do it. Being cursed with being the son of a hand surgeon I know a lot of useless fact about repetative stress injuries and carpal tunnel syndrome. Almost all kind of injuries like that are fixed by ergonmic improvements ranging from getting a track ball, to having the right chair.

And what good are paper and pencils if you are crammed in some corner on a small desk. I always study/work better when I have lots of space. Its not a high $$$ solution but I have my computer/workspace on two 6' long folding tables in an L shape. That leaves plenty of room for the very useful dual monitor setup (which I find is a real boone for my productivity) and plenty of table real estate for books, notebooks, manuals, etc. etc.

Basically I understand that as you get older and it starts to be a pain to sit in a folding chair at a cramped desk it helps a lot to have a nice setup (which is going to cost a littel extra).

My biggest advice is plenty of space, a good chair, and a second work area like an armchair or couch if you need to take a break from the screen for a while.

Re:Paper and pencil (1)

EntropyEngine (890880) | more than 8 years ago | (#13571129)

There's nothing like providing sound advice like some authoritarian Victorian dad, is there?

As an aside, I rarely -- if ever -- commit ideas to paper. I architect in my head. I tend not to loose synapses quite as often as sheets of brilliant white A4.

So the pencils thing is really a personal preference, not a given.

There's a lot to be said for being conformable when you're working...

Remember, people (1)

apankrat (314147) | more than 8 years ago | (#13571140)

vi is all you need

Re:Paper and pencil (1)

ardor (673957) | more than 8 years ago | (#13571144)

Sounds like the usual exaggerated UML designing. To be honest, while "drawing" the structures is of course useful, people either tend to skip that completely or they tend to design an extremely complicated mess by putting every single variable into the UML graph. The latter is often done by self-proclaimed professionals and is then shown as "THE solution".

Re:Paper and pencil (2, Interesting)

Eberlin (570874) | more than 8 years ago | (#13571206)

As interesting and possibly informative as this is, there are a few things that would be nice if you're going on a coding marathon or whatnot. I'd want the following:

1) a really comfortable chair. Don't care what brand but something that'll be nice to sit on for an extended period of time.

2) an L-shaped table for the convenient amount of accesible room it gives.

3) a big enough LCD monitor to look at code in.

4) decent ambient lighting

5) a nearby reference bookshelf with all the o'reily stuff on whatever languages you're interested in.

6) enough desk space to doodle/plan/etc. with that paper and pencil thing you suggested.

7) isolation from any other distractions -- no gaming rigs, consoles, etc.

8) an exception to 7. You gotta make room for tunes if you're into coding with background music on.

9) enough space around the desk to walk around in. On occasion, I pace around and talk to myself when I'm thinking things through.

10) stress ball

Ok, so I'm not an everyday coder nor do I play one on TV...but if I had to build the ultimate coding rig, I would've kept those things in mind.

A good coffee maker! (1)

Karma_fucker_sucker (898393) | more than 8 years ago | (#13571034)

and a table to hold pizza and other snacks.

Re:A good coffee maker! (1)

Cyberop5 (520141) | more than 8 years ago | (#13571057)

mountain dew on tap

Re:A good coffee maker! (0)

Anonymous Coward | more than 8 years ago | (#13571116)

Catheter and waste water recycling system.

IDE (3, Interesting)

Dancing Primate (798703) | more than 8 years ago | (#13571036)

I find that vi has great support for every language I use.

Re:IDE (2, Interesting)

callipygian-showsyst (631222) | more than 8 years ago | (#13571106)

I still use "vi" everywhere. I install gvim> [vim.org] on all my non-Unix machines and use Windows Gvim to do all my editing on windows.

Since most of my programming is in C++ and Intel Assembly language, I can't help the "professional sofware engineer" who posed the question. I imagine if I were an XML "programmer" as he indicated (whatever that is!), I'd want something that shows XML tag mismatches. GVIM tries, but I suspect emacs would do a better job.

Re:IDE (1)

bigtangringo (800328) | more than 8 years ago | (#13571182)

I'm sorry.

Debugging Java in Eclipse is a wet dream come true. Debugging Java in VI, sounds not only impossible but really kloogey if it were to be possible.

Aside from that, jEdit is awesome for all non-java languages where I just want an editor not an IDE.

Re:IDE (0)

Anonymous Coward | more than 8 years ago | (#13571215)

Think first, code later. Don't debug. Write code without bugs. C'mon.

Emacs (1, Funny)

Anonymous Coward | more than 8 years ago | (#13571037)

Emacs is the only IDE you need.

Re:Emacs (1)

EntropyEngine (890880) | more than 8 years ago | (#13571164)

I bet you have hairy palms, don't you? ;-)

Re:Emacs (2, Informative)

Anonymous Crowhead (577505) | more than 8 years ago | (#13571185)

Emacs is the only IDE you need.

It's also the only thing you'll need to play tetris.

[user@localhost]$emacs -f tetris

Eclipse? (0, Redundant)

cwt137 (861631) | more than 8 years ago | (#13571040)

Eclipse.

Re:Eclipse? (1)

EntropyEngine (890880) | more than 8 years ago | (#13571203)

Me too.

I was trying out an extended demo version of Zend Professional Studio 4 for a while, but for all of the nice features -- of which there were many -- the product as a whole was just doin' mi 'ead in...

Just get an iPod Nano... (-1, Offtopic)

Anonymous Coward | more than 8 years ago | (#13571043)

Oh... sorry... wrong question...

Party like it's 1999 (1)

fembots (753724) | more than 8 years ago | (#13571044)

Is it dot-com again? Should we recommend what type of car to drive too?

But if you really want to spend some money, maybe get a couple of LCD monitors.

Coupla Peripherals (2, Informative)

Southpaw018 (793465) | more than 8 years ago | (#13571045)

Monitor: Dell 2005 FPW 20.1" Widescreen LCD [dell.com]
Totally awesome. Run it at its native resolution, of course, and no blurriness. I don't even get ghosting in FPSs. The monitor is beautiful and rock solid.

Mouse: Logitech MX610 [logitech.com]
Awesome mouse.

Re:Coupla Peripherals (0)

Anonymous Coward | more than 8 years ago | (#13571077)

do you program with your mouse? if so, maybe you should kill yourself!

Re:Coupla Peripherals (1)

jolar (905312) | more than 8 years ago | (#13571094)

Concurrence from me on the 2005FPW. A great plus it has is the ability to rotate the screen 90 degrees; this would be excellent for fitting a page of code.

Or maybe consider an Apple system? The 30 inch Cinema Display is beautiful, the Dual 2.7GHz PowerMacs are very powerful, and Xcode is wonderful. Just make sure you ditch the crappy mouse.

Re:Coupla Peripherals (1)

caluml (551744) | more than 8 years ago | (#13571109)

Or if you live in the UK, you can pay twice the US price [dell.com] :(

Re:Coupla Peripherals (1)

KrackHouse (628313) | more than 8 years ago | (#13571127)

Nay, the 2405FPW is 24 inches of non-sid-scroll bar 1920x1200 widescreen action. Behold [flickr.com] the live high definition baseball footage in the picture in picture window (the beast has component video input).
Just under $1000 shipped.

Re:Coupla Peripherals (2, Interesting)

Fahrvergnuugen (700293) | more than 8 years ago | (#13571264)

If money were no object why the hell wouldn't you get a 30" Cinema Display [apple.com] ??

How about ... (-1, Troll)

Anonymous Coward | more than 8 years ago | (#13571046)

noob, get out side.

Chair (3, Informative)

boscodegama (652475) | more than 8 years ago | (#13571054)

Re:Chair (1)

Guildencrantz (234779) | more than 8 years ago | (#13571207)

I scoffed at these chairs until I actually got to sit in one, now it's on my "if I win the lotto" list.

Screen, Keyboard and Arse (5, Insightful)

TechyImmigrant (175943) | more than 8 years ago | (#13571056)

You need to prioritize. First worry about your fingers, eyes and arse

1) Get a slick 1600x1200 or better LCD screen
2) Get more screens to broaden your field of view
3) Spend $100+ on a really good keyboard. I choose Happy Hacking.
4) Spend $500+ on a really good office chair (or $5 from a failed startup)

With this as a starting point, you can feel physically comfortable, freeing you to address your mental confort.

Re:Screen, Keyboard and Arse (1)

forkazoo (138186) | more than 8 years ago | (#13571145)

You leave off a mouse. Good. Now, once you have the good keyboard, like a model M, and the good office chair, you will need a PC. I reccomend an MMX Pentium. This is modern enough to allow you to impliment and test optimised SIMD versions of your algorithms, but not so fast as to encourage really sloppy code. For an IDE, you will need vi on your favorite *nix. (BSD, Linux, whatever, so long as it is really vi, not some vim).

You will also need an SGI, an Alpha, an HPPA box, some of which should be SMP, so you can test for odd bugs which only show up on some platforms, or only in 64 bit platforms, or on architectures which are unkind to misaligned data, etc. Oh, and a Win64 box, because that shit is fucked up, and getting your well behaved code to run there will be an important test to demonstrate correctness.

Re:Screen, Keyboard and Arse (0)

Anonymous Coward | more than 8 years ago | (#13571259)

"3) Spend $100+ on a really good keyboard. I choose Happy Hacking."

Or spend a few $ on a 1980s keyboard nobody wants because it doesn't have Windows keys. The build quality of old keyboards is much higher than with keyboards today, even the expensive ones.

Ultimate Developer Station? Simple! (1, Funny)

Anonymous Coward | more than 8 years ago | (#13571065)

Hookers (0)

Anonymous Coward | more than 8 years ago | (#13571066)

Hookers. If I could get a blowjob all day while coding I would be far more productive. I think.

Re:Hookers (1)

koniosis (657156) | more than 8 years ago | (#13571134)

You've been watching too much Swordfish [imdb.com]

The simple answer (0)

Anonymous Coward | more than 8 years ago | (#13571067)

you should really ask your mom first. She doesn't want you messing up that basement.

My advice... (5, Funny)

teromajusa (445906) | more than 8 years ago | (#13571068)

Stop fucking around reading Slashdot instead of coding and you won't have to spend all those long hours at your computer ;)

MOD PARENT UP!!!!!!!!!! (0)

Anonymous Coward | more than 8 years ago | (#13571095)

+5, Insightful

Re:My advice... (1, Funny)

Seumas (6865) | more than 8 years ago | (#13571209)

This is going to get modded as flamebait, but I mean it wholeheartedly:

I had to laugh at the article blurb. Since when do the words "software developer" belong in the same sentence as "PHP"? That's like the kid who pumps your gas at the station an "oil tycoon".

The same could be said of a lot of other languages, I suppose, but what other languages are purely made for WEB design rather than writing programs?

A laptop and some sunshine (4, Insightful)

nihilogos (87025) | more than 8 years ago | (#13571073)

Is my personal favourite.

Re:A laptop and some sunshine (0)

Anonymous Coward | more than 8 years ago | (#13571135)

Bahh, Everyone knows most ./'er work from their mom's basement.

hacking keyboard (0)

Anonymous Coward | more than 8 years ago | (#13571078)

cherry g84-4100 series
expensive, but IMHO worth it

SciTE (2, Informative)

Roguelazer (606927) | more than 8 years ago | (#13571080)

Really. I do everything using SciTE, except the stuff I do with vim.

Re:SciTE (1)

Linker3000 (626634) | more than 8 years ago | (#13571178)

I gave up with SciTE and now use the plain and simple Crimson Editor. [crimsoneditor.com]

Re:SciTE (1)

Roguelazer (606927) | more than 8 years ago | (#13571213)

I'm not sure that I could live without code folding, and I'm much too lazy to write a Ruby syntax highlighter for Crimson Editor. :P

Emacs and VerticalMouse (2, Informative)

majordomo (111692) | more than 8 years ago | (#13571085)

I've never regretted learning Emacs, though eventually I switched to XEmacs (mainly because Emacs seemed to have trouble highlighting Python syntax correctly).

My pointing device of choice is an Evoluent VerticalMouse. It doesn't force your wrist to twist, which is a Good Thing.

I'm too poor to afford a good chair (since they typically will run you > $1000 + 1 arm + 1 leg), but get one with good lower-back support.

-Michael

What hardware? (3, Insightful)

chris_eineke (634570) | more than 8 years ago | (#13571086)

What hardware would you choose to use, if money was no object?

More people on your team...

Re:What hardware? (1)

CoolVibe (11466) | more than 8 years ago | (#13571167)

He's talking about hardware and software, not wetware :)

Lighting is easy: (1)

Anonymous Crowhead (577505) | more than 8 years ago | (#13571089)

None. (except a desk lamp just bright enough to read by)

Virtual machines (2, Insightful)

McSpew (316871) | more than 8 years ago | (#13571092)

The one thing I'd count on for development is using virtual machines to host test different target platforms. If you'll be developing primarily for one platform/environment, you can still use VMs to simulate the different machines of the production environment for testing purposes--clients and servers.

Personally, I like VMWare, but I'm in the Windows world. If you're going to be developing and distributing exclusively on and for Linux, you could use something like Xen.

Regardless, I'm hooked on virtual machines, and highly recommend using them for your work.

Re:Virtual machines (1)

FreakyGeeky (23009) | more than 8 years ago | (#13571153)

WMware works on Linux too!

And here you go. (5, Interesting)

MrAnnoyanceToYou (654053) | more than 8 years ago | (#13571098)

Location: A beach in Northern California, slightly south of San Fran.
Power Generation: This Honda Generator [hondapowerequipment.com] for reliability and gas efficiency, 20hrs of code at a time. (note: after viewing the power consumption of this solution, you may require a second generation unit or higher model number)
Computers: 2 Mac Mini's - one for compile runing Gentoo, the other dual boot Red Hat / Os X... Cluttering up your beach space is simply unacceptable.
Second Computer set: some low power-drain and Form Factored PIV for testing that 'old and busted' windows crud people occasionally run
Display: 2x The DLA-QX1g [jvc.com] - Why do monitors (old and busted) when you can have the new hotness of a projection screen with 1365x1024 resolution. It's a no brainer. Remember to get a widescreen lens for the projector, and an active screen to go with as well - these things are going to need to produce a LOT of lumens to compete with the sun.
A 4 port KVM switch
Input: Microsoft Natural keyboard w/ mouse, wireless versions. Gonna have to be both, although you might want a trackball that works in midair.... MS is still pretty much the best at putting together an awesome and non-stress creating keyboard / mouse combo. Alternatively, you could combine keyboard and chair I guess. [kinesis-ergo.com] That would mean, with the screen and the KVS switching hotkeys, etc, you wouldn't NEED a desk, although you might want a second screen and projector for a computer to be used as a notepad hooked up to one of the keyboard inputs on the KVM but not the video. Note: Sand might get into your chair, I'd be down with a yoga mat or chaise lounge, and the wireless keyboard.

Seating Schmeating (4, Funny)

kurosawdust (654754) | more than 8 years ago | (#13571102)

I'm looking for suggestions on desks, seating, lighting, keyboard and pointing device, monitors and even the computer system itself.

Donald Knuth works standing up, and so should you.

You might also want to consider investing in a full-sized pipe organ.

Stick with Eclipse. (5, Informative)

Vellmont (569020) | more than 8 years ago | (#13571104)

Eclipse has a huge future. Many IDE makers are abandoning their own IDEs and making Eclipse plugins. There's already good free plugins for C/C++, excellent inexpensive JSP plugins, and tons of others that I've seen but not used. I have to believe there's some good XML plugins as well. Since Eclipse is cross platform, you don't have to worry about being stuck to one OS. Stick with Eclipse unless you have some special need that Eclipse doesn't do.

RAM (5, Insightful)

dubl-u (51156) | more than 8 years ago | (#13571105)

A lot of things you mention I don't care much about. But I recommend ridiculous amounts of RAM. Even if you get more than you think you'll need, you'll find a use for it.

My latest giant RAM sink is VMWare. I run a virtual copy of Windows for browser testing, and a couple more for virtual servers. Virtual servers are much better for testing than real ones: when you're done trying something out, you can revert the virtual disk back to a known clean configuration.

Ultimate Setup: GNU Software (0)

Anonymous Coward | more than 8 years ago | (#13571107)

Given the stellar quality and performance of GNU software, the ultimate development platform is the following.

processor: ARM or AMD64
operating system: Linux
compiler: GCC (GNU compiler collection) with GDB
desktop: GNOME
screen saver: Shannon Stewart (naked pictures available via MSN Search)

Any more questions?

I think it was J00L14s C3454R that said (5, Funny)

Crimsane (815761) | more than 8 years ago | (#13571108)

Vimi, vidi, vici

I'll leave the translation up to you.

Simple... (2, Informative)

CoolVibe (11466) | more than 8 years ago | (#13571111)

You need:

- A fridge within reach
- A lot of beer in that fridge
- Caffeine I.V. or just a lot of 'dew
- AMD64 box with gobs of mem and lotsa Ghz, dual core, more cpu's is better
- Gobs of diskspace so you can multiboot many operating systems
- A comfy chair
- Multiple monitors
- Dual head video card
- A simple PCI video card for that third head
- An IBM type M keyboard, or a Sun type 5 hacked to work on a normal x86-like system
- A lock on the door to keep the SO and/or cats out
- A 60 GB ipod hooked up to a dock for auditory pleasure
- A large desk to put all that crap on
- A shell
- vi(m)

I guess that's about it :)

Aircon... the best damn aircon money can buy! (0)

Anonymous Coward | more than 8 years ago | (#13571113)

I would buy the most kickass aircon/environment control system currently available; if there's anything I can't stand, it's got to be when you're coding in what feels like the Sahara or the Arctic. I've often spent hours coding and wondering why the hell I'm so grouchy and fidgety. 99% of the time, it'll turn out to be the rooom temperature or humidity.

So for me, ambient environment control would probably be the thing I'd hanker after, so utterly unlikely to be bought on any developer budget that it has to top my list here!

Just go to the store. (2, Insightful)

reality-bytes (119275) | more than 8 years ago | (#13571121)

I'd recommend just taking a trip to your local computer store and trying out the best they have to offer in terms of keyboards and mice.

If you have extra pennies to spend, consider more than two monitors (and their associated video cards). There is a real sense of 'space' when you can spread your GUI based apps over a number of displays. (Personally I think it helps reduce percieved 'stress'.)

Also consider getting the most powerful system you can afford. Having a window open slowly is just depressing. Fire as much raw CPU power/speedy disk/ram as you can at the problem and app/window opening should be faster than turning the pages in a book.

Last, but most importantly, make sure the system is quiet. Theres nothing worse than sitting next to the desktop equivalent of a Boeing 747 all day.

Re:Just go to the store. (4, Informative)

CoolVibe (11466) | more than 8 years ago | (#13571200)

I'd recommend just taking a trip to your local computer store and trying out the best they have to offer in terms of keyboards and mice.

No. Go to ebay. Search for IBM type M keyboards. Buy one. Your fingers will thank you. As for mice, well, I just always go for Logitech.

Chair (1)

Aneurysm (680045) | more than 8 years ago | (#13571124)

I personally think that the two most important things you could possibly have are a good back supporting chair and good lighting. After doing many coding projects at Uni I found I had quite a sore back from the crappy chair I was using. Also a low watt bulb increased my eye strain. Personally I think a supportive chair will be a much better purchase than anything else. These [justnaturalstuff.co.uk] are apparantly very good, although I have never tried one for extended periods of time.

Re:Chair (1)

gstovall (22014) | more than 8 years ago | (#13571235)

When I began full-time telecommuting several years ago, I bought a Raynor Miranda (currently available from Office Depot for $169) "Executive" chair, and I've never regretted it.

It's fully as comfortable as the really expensive chairs that my company provides for the in-building workers, and it has held up really well to 10-12 hour per day coding sessions.

I code from my couch... (1)

toddbu (748790) | more than 8 years ago | (#13571126)

watching TV, drinking coffee and pop. It's a great setup.

a few highlights (1)

Surt (22457) | more than 8 years ago | (#13571133)

First, ergonomically, you want something that works for you. Go to Office depot, office max and sit in a lot of chairs, and try a bunch of desks. Find out if a keyboard tray or keyboard on desk setup is more comfortable for you. Try out all the ergonomic keyboards and find what feels nice to you. I recommend the microsoft keyboards, but it's a very personal choice.

Second, for software, definitely buy yourself a copy of IntelliJ IDEA from jetbrains. It's another step ahead of eclipse, and there is pretty little debate left that it is the best dev environment if java is your primary platform, plus it plays nice with lots of other technologies.

For your computer, buy a system with at least 2 cores, 4 gigs of memory, and the fastest disk setup you can afford, plus at least 2 monitors. At the low end, a 2 disk 10k raptor setup is pretty fast. At the high end, a 5 drive scsi raid of 15k seagate disks will eat up as much budget as you'd like i'm sure. For the monitors, i'd recommend a pair of dell's 24 inch 1920x1200 lcd panels. Apple cinema displays i've heard are nice also, but i haven't any direct experience with those, and i've heard they have compatibility issues in terms of what video cards can drive them. The remainder of your system hardware wise won't have nearly as much impact as those items (cpu, memory, disk, monitor) will have.

One more thing! (1)

callipygian-showsyst (631222) | more than 8 years ago | (#13571137)

It's nice to have an old-school PC monochrome card and mono monitor plugged in so you can run SoftIce on a separate screen.

Computer. Desk. Chair. (1)

andyross (48228) | more than 8 years ago | (#13571138)

Computer. Desk. Chair.

Software far better and more innovative than anything you will ever create was written by smelly geeks in university basements, on terminals that made funny noises and worked at 9600 baud, without source control, and with text editors that didn't have the memory budget to implement "undo". (Which just might be the impetus that caused them to *invent* stuff like this.)

As nice as it might be to have that "Professional Software Engineer" title on your business card, programming is, has been, and will always remain a task for the brain. Throwing toys at it doesn't work, it just makes the toy manufacturers richer. Put your butt in whatever feels good, and use whatever tools you want (and be sure to try whatever tools you haven't). It won't make your code any better, but maybe you'll smell nicer than the geeks in the basements.

Re:Computer. Desk. Chair. (2, Informative)

ardor (673957) | more than 8 years ago | (#13571226)

Did you ever consider that modern IDEs also may have um.... advantages? Ever used Visual C? Eclipse? IDEA? Ever seen IDEA's refactoring capabilities?

Your first paragraph is pointless, unfortunately it is still widespread among Unix hackers. See, if everything thats new is "l4m3" and only emacs+terminal is "l33t", then why not stopping progress altogether? By the way, why using a mouse? How l4m3! A monitor! Ha, in the old days l33t programmers stuck with their printers! Why using modern OS with multitasking and that fancy stuff! Why electricity! Dude, this fire thing is overrated, right?

Of course the new IDEs won't magically make better code, of course I don't need them for a hello world, but they sure as hell help a LOT when writing code, especially when writing larger projects.

I for one like Visual C. Yeah, call me heretic or whatever, I don't care. VC doesn't make some magical shiny code, I have to do that (and often enough its neither magical nor shiny :) ), but VC makes writing projects with hundreds of subprojects and files less painful than with a simple vi. And no, I'm not talking about RAD here (although its one of the greatest advantages of an IDE).

I'm happy with what I have.. (2, Interesting)

frenchs (42465) | more than 8 years ago | (#13571151)

Ikea Jerker set to standing height. I guess I just like to work standing up, I think better, and it forces me to take occasional breaks.

15" G4 Powerbook. Portability is a factor for me, so I need something I can take with me

24" Dell Widescreen LCD.
Kensington Expertmouse (trackball)
Micro$oft Natural Elite Keyboard (the curved one)

This setup works for me, but I understand it's not ideal for everybody.

-s

IDE (1)

Jumbo Jimbo (828571) | more than 8 years ago | (#13571156)

In relation to your IDE question, for web based development using Java I have tried a few IDEs and think if you are comfortable with Eclipse you should stick with it, as in my opinion it's the best of the bunch.

Although it's primarily associated with Java it's got plug-ins for many programming languages including some, if not all, of those you mention above.

For the XML (which I guess you'll be using a lot if you are using J2EE) there's a very good plug-in called XML buddy [xmlbuddy.com] that I can recommend.

And if money's no object, I think a great luxury to go with the perfect set-up for coding would be a mini-fridge in the same room, for minimal distance to obtain the next fix of Dr Pepper / Diet Coke / Caffeinated beverage of choice.

Dual workstation (1)

The Bungi (221687) | more than 8 years ago | (#13571158)

Definitely go for one of the Dell or HP dual Xeon workstations... they're worth every penny. Paired with 2GB of RAM, a 10K RPM SATA RAID setup and a decent 128MB+ nVidia Quadro FX PCI-E video card and two 19'-21' flat panel LCDs (Dell was selling a 20.1' FP for $500 this weekend) they're really good for running multiple background and application servers, compiling (ever run a 15 minute C++ build in the background while writing a spec document in Word?), instances of your IDE, etc.

Seriously, if you make $95K per year writing software it makes sense to drop $3K on the tool you use to make that money. Just my $0.02.

Laptop (0)

Anonymous Coward | more than 8 years ago | (#13571169)

All this doesn't matter - it's what you do with it all that counts.

This is why I have a cheap laptop and work from home where I can be with my family (wife and daughter).

If you spend lots of money on kit, then you have to make a significant sacrifice in time to make the money again.

linux setup (0)

Anonymous Coward | more than 8 years ago | (#13571172)

If you're planning to get involved in using a lot of open-source tools the setup i've found optimal has been:

OS : Slackware linux, Editor : gvim, gdb/ddd debugger, and subversion using apache webdav for revision control.

As someone already suggested dual or three monitors really does give you some extra space to say read a man page or look though code while a debugger is running, much more convienient than using virtual desktops alone.

Do you really need more than a standard PC (say p4/amd athlon 2ghz +)? It depends on what you plan to do... If you're into GLIBC development or plan to recompile something huge often for testing purposes, you might want to look into a dual or quad cpu opteron setup. That is unless you'd appreciate plenty of time for coffee breaks.

what are you currently using? (4, Interesting)

abes (82351) | more than 8 years ago | (#13571173)

It seems weird that you are looking for new things -- what's wrong with what you are currently using? While I can understand wanting to tweak some of your tools, if you've been coding for some time now, you probably know your habits best by now.

Some obvious things that come to mind:
(1) For programming, it's especially nice to be able to have at least two editing windows open side by side. The Dell 2005FP is great for this -- I've owned mine for about half a year, and still marvel at it. I have trouble using smaller monitors now.
(2) Editors are really a religious preference. Emacs isn't perfect, and there are a lot of things you can find wrong with it, but personally it's still the best editor out there. I've tried using the newer graphical editors, but in the end I always go back. The languages you suggested are probably going to be supported by most editors. However, just because the editor supports a language, doesn't mean it won't support it well. There are some very small things that many editors get wrong (especially with C++, I've found), which is one of the reasons I've stuck with emacs for so long.
(3) Mice is yet another religious preference. Personally, my favourite mice continue to be Microsoft's Explorers. I recently bought the cheaper Logitech version, and still wishing I didn't just pay more money. If only M$ could stick with the HW business...
(4) I've tried a plethora of keyboards. The flat no-nonsense keyboard ended up being my favourite. I tried one of the ergonomic weird shape keyboards for about a week, and maybe I was doing something wrong, but it started to hurt my wrists (never had that problem before). Even if I was somehow typing wrong, in the end, you really should just use what works for you. While you might find someone raving about some new product etc., it just might not work for how you operate.

Your best approach is to try to slowly fade new things in. I suspect if you take someone's advice and get a bunch of random 'highly rate' applicances, you will be unhappy in the end.

Banana? (1)

dwater (72834) | more than 8 years ago | (#13571198)

I'd love a banana [ergonomichome.com] .

Isn't this like the ultimate troll question? (5, Funny)

tjstork (137384) | more than 8 years ago | (#13571199)

Hey a bunch of developers on every platform known to humanity, what is the "ultimate" way to develop.

Here's a script:

CPPFanBoyMFC "I think Visual C++ is the best. I love MFC with a mighty passion!"

CPPFanBoySDK "No way dude, I use Visual C++ with the straight up SDK and roll my own classes as needed."

CPPKDEFanBoy "Visual Studio blows compared to KDevelop."

CPPMakeFanBoy "When I was a kid, I used to write make files and use Emacs and gdb from the console, and I liked it, so I still do."

CPPViFanBoy "Yeah, but, vi is better than emacs, everyone knows that"

AssemblyFanBoy "90% of you C/C++ guys talking about getting close probably don't even know the calling convention of your functions. Hop along IDE cripples."

VB6FanBoy "Assembly? I can do in two minutes that which takes you two weeks to write. VB 6.0 is the bomb, but MS ruined it with VB.NET"

WinFanBoyD "C# makes the rest of you obsolete..."

SunFanBoy "Too bad you stole it from Java."

PythonFanBoy "Java, Blah! Your weak languages do not enforce indenting..."

DelphiFanBoy "All your strongly typing innovations are belong to us."

Perl "While you guys were arguing, I just finished it all in one line of code... oh wait... where does that greedy matching operator go. I'll see you tomorrow."

Any more?

save money (1, Informative)

Anonymous Coward | more than 8 years ago | (#13571204)

save your money , outsourse the coding to India and sit around and play mmog's

PCE (1)

MacFury (659201) | more than 8 years ago | (#13571205)

I must say, if I had the cash I'd love to get one of these. ( http://mypce.com/ [mypce.com] ) It's a reclining style chair with overhead LCDs mounted.

I am extermely happy with my Logitech Multimedia Keyboard and my Kesington Optical Elite mouse. The optical elite mouse is my hands down favorite out of the 50+ mice I have used. I don't know how much longer they will make it, but I bought an xtra 2 to tuck away in case this one breaks.

Multiple monitors is an absolute must. I work with 2 at work and 3 at home. The screen real estate available to you will make you much more productive. This is extremely easy to do on a mac. It doesn't work as well on my PC, but I've heard something called UltraMon gives windows added functionality for dual monitor setups.

Multiple monitors, RAM, RAID array (4, Informative)

c0d3h4x0r (604141) | more than 8 years ago | (#13571208)

A multiple-monitor setup using LCD flat panel displays should top the list. I can't begin to describe how much easier it is to do development work on a multi-monitor system, and I can tell you that if you work for a full day with an LCD (running via DVI connector, of course, not RGB/SVGA) side-by-side with even a good ViewSonic CRT, you'll be forever sold on the LCD panels because the brightness, contrast, color accuracy, and crispness are all so much better.

RAM and disk are the two biggest bottlenecks to development, in my experience. So the next most important thing is memory and storage. Get at least 2GB of RAM, and then get yourself set up with a RAID array with plenty of storage (200GB or more), running in a RAID mode that provides for full automatic recovery if a drive fails. Many motherboards now natively support RAID-mirror configurations (two drives) using SATA drives.

The RAID array will drastically improve disk performance. Plus, you'll never have to worry about backup/recovery again. The RAID array by definition always keeps itself "backed up" by its built-in redundancy, and recovery is as simple as popping in a new hard drive and letting the array rebuild to the new drive.

PHPAudit + ionCube (0)

Anonymous Coward | more than 8 years ago | (#13571219)

You should check out PHPAudit for licensing and distribution (http://phpaudit.com/ [phpaudit.com] and ionCube for encoding (http://ioncube.com/ [ioncube.com] if you plan to sell your product commercially.

That was easy. (0)

Mike Schiraldi (18296) | more than 8 years ago | (#13571220)

Is there a more suitable IDE that works with most popular OSS (and not so OSS) languages including XML, SQL, CSS, PHP, Perl, Java, and C/C++?

Yes. [gnu.org]

WEINER PHOTOGRAPHS (1)

Albert Pussyjuice (675113) | more than 8 years ago | (#13571224)

I keep a few pictures of my weiner on my desk. Some plain shots, some dressed up with chocolate sauce, peanut butter, or clothing. My favorite is the one with the Abe Lincoln hat.

Do you want me to send you some pictures of my weiner?

Equipment (1)

mveloso (325617) | more than 8 years ago | (#13571231)

Editor
-----
BBedit or TextWrangler. The latter is free, as in beer.

OS
--
Mac OS X 10.4.x. It works, and you don't have to worry about clicking links or reading email. Plus it's got all that good command line stuff built in. Plus you can use things like Pyramid, Photoshop, etc.

Displays
-------
Two or three, depending on how big they are. The problem with the widescreens is they might exceed your angle of vision, making things a bit weird. You want one monitor for reference stuff and another monitor to work in.

Three monitors is a bit overkill, and requires a lot more thought than two. I suppose you could do "everything else" on monitor #3 (email, web, IM).

Be warned that monitors that are too big can be really annoying.

Keyboard
--------
The MacAlly IceKey or one of the old IBM PC clicky steel keyboards with a USB adapter. Both keyboards are really excellent, but the IBM ones have the edge. The old Apple Extended Keyboard ]['s are good as well, but you have to you the flaky iMate adapter, which sucks.

The IBM and Apple keyboards will take a ridiculous amount of abuse. The IceKey is a lot more fragile. If you're prone to beating your keyboard in frustration sometimes, the Apple one is better because its plastic is softer than the IBM steel.

Chair
----
Find one that's comfortable, not necessarily ergonomic. I've tried using ergo equipment, and they cause all kinds of aches and pains in my arms, back, legs, etc. If it's comfortable, it'll probably be OK.

Desk
----
Make sure you can fit everything and a couple of reference books on it. That means it should be longer than 5 feet. Table depth isn't as important.

Sun Ultra 20 workstation (1)

Nick of NSTime (597712) | more than 8 years ago | (#13571233)

Get the new Sun Ultra 20 workstation. AMD Opteron, Solaris/Linux/Windows support, 3 year warranty, cheap, and fast. I love mine.

G5, OSX & 30" Cinema Display, Sitting Machine (4, Insightful)

Fahrvergnuugen (700293) | more than 8 years ago | (#13571234)

If money were no object, that's what my setup would consist of. A dual G5 and a 30" cinema display (2560 x 1600 resolution!). The apple pro keyboard is sufficient but I would upgrade to a laser mouse of some sort (Maybe one of the new 5 button bluetooth intelli laser mice...) Between OSX and Virtual PC you can test your code in both Windows and OSX. OSX also has x11 if you need it. You mention PHP so I'm guessing you're doing a lot of web development... with this setup you can test every browser Apache AND IIS, Windows AND *nix. I'd buy a license of Zend Studio for PHP development as well as a copy of BBedit (I use both, BBedit has some indispensable features). As for the physical environment, you can't go wrong with one of these: http://www.sittingmachine.com/ [sittingmachine.com] Pretty much the most comfortable desk chair ever.

A big vat of heated jello (2, Insightful)

Illserve (56215) | more than 8 years ago | (#13571247)

Seriously though, it sounds like you're trying too hard.

Don't build a desk that's comfortable enough to spend huge amounts of time at, it's not healthy physically or emotionally. If you plan to waste your hours at your desk, you'll do it, whether or not it's good for your career.

That article was a lot of words ... (5, Funny)

switcha (551514) | more than 8 years ago | (#13571250)

when you could have just said:

"Flame me and then brag about your setup."

Poetic Technologies (1)

TheOtherAgentM (700696) | more than 8 years ago | (#13571252)

Check out Poetic Technologies [poetictech.com] for desks. They're more like pods. I'd love to have one of these myself, but with my cash flow it looks like the folding table and folding chair will have to suffice.

PairOn (1)

cortana (588495) | more than 8 years ago | (#13571255)

I don't know how me and my partner ever managed to write code without the PairOn [cenqua.com] .

zealotry (1)

St. Arbirix (218306) | more than 8 years ago | (#13571265)

The 17-inch PowerBook runs Eclipse perfectly.

Heck, I have a 15-inch 400MHz PowerBook that keeps up with everyone else in my classes (we use Eclipse, btw).

OSX 10.4 comes with Java 1.5 and Apache w/ PHP5.
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>