Foo - Questions for Linux & Windows programmers

Bikeforums.net is a forum about nothing but bikes. Our community can help you find information about hard-to-find and localized information like bicycle tours, specialties like where in your area to have your recumbent bike serviced, or what are the best bicycle tires and seats for the activities you use your bike for.




mustang1
10-27-09, 02:36 PM
If you've programmed on both OSs (especially recently):

1. Which OS do you prefer to develop on and why?
2. Which development environment and/or tools do you uaw? What's your front/back-end setup?
3. Do you develop on your own, two-four people, or in a larger team?
4. Do you program for a living, for fun, or both, and have you contributed to any open source projects?


MrCrassic
10-27-09, 03:17 PM
If you've programmed on both OSs (especially recently):

1. Which OS do you prefer to develop on and why?

Depends on the language. .NET development is still primarily a Windows-based activity, unless you're brave (or masochistic) enough to try Mono. For most other things, Linux is, I guess, much more "native." (This is especially the case as you go for lower-level languages.

I chiefly develop in Windows, as Linux has too many drawbacks on the laptop (battery life being one of them).


2. Which development environment and/or tools do you uaw? What's your front/back-end setup?

For C development, I use Textpad and gcc. For debugging C, I use gdb (though I'm still learning how to use it).

For C++ development, I use any Visual Studio variant (Visual Studio 2005/2008 or Visual C++ Express 2005/2008 works well enough.) I'm also starting to use Eclipse.

When I did Java development, I used Eclipse. If you absolutely have to use Java Swing, use Netbeans.

C# and VB development is, for the most part, restricted to Visual Studio and its ilk.

Most of the work I do nowadays is scripting-related (mostly VBScript), so it's mostly Textpad and any debugger that comes with Windows.


3. Do you develop on your own, two-four people, or in a larger team?

This is also objective. My senior design project is a team effort and would be quite difficult to pursue alone. The scripting project I have at work, which will carry a bigger impact, is mostly a sole effort. Depends on the scale and constraints of the project.


4. Do you program for a living, for fun, or both, and have you contributed to any open source projects?

I do it mostly for a living; I could never motivate myself to make the time to contribute to an open-source project.

I've joined the dev teams for Rockbox, Pidgin (purple) and Firefox, but haven't contributed anything b/c I simply haven't made the time. However, I strongly advise anyone that's interested in pursuing software development on any level to join an open-source initiative. Most of the communities are very big and very supportive.

kenl666
10-27-09, 11:31 PM
1. Which OS do you prefer to develop on and why?


Depends on the implementation language. For C/C++, SQL, PHP, either works fine for me. Perl is developed mostly on Linux.



2. Which development environment and/or tools do you uaw? What's your front/back-end setup?


Windows: UltraEdit and Visual Studio express. Linux: Nedit and gnu tool chain (gcc, make, etc.). For debugging I just use printf statements, occasionally use gdb to backtrace a core dump



3. Do you develop on your own, two-four people, or in a larger team?


I've worked in a three-man engineering group, currently on my own.



4. Do you program for a living, for fun, or both, and have you contributed to any open source projects?

for a living and some for fun, never contributed to an OSS project.


Maelstrom
10-28-09, 12:13 AM
all web apps, so really just a high end scripter.

php, sql (I use either my or ms), iis (sorry...apache has its place, I just don't need it in the environment I run), I have the odd ability to debug code. I see written code like patterns. I can pretty much take any code with a rudementary understanding of the actual language and work with it. .... hmmm code

By myself

ummm both. I have done projects which are now used at an enterprise level, I have contributed a bit and I have also done projects of interest...

To be honest, I only answer these as a geek. I am not a lifelong programmer, I do it out of ... necessity. If something is needed I either build it, buy it, or take an oss project and redevelop it. Depending on the pricing, cost and or timing.

DannoXYZ
10-28-09, 12:48 AM
If you've programmed on both OSs (especially recently):I did about 15-years of software-development programming from the mid-80's. About 10 of that was with a company that made a shopping-guide/price-database for the bike-industry.


1. Which OS do you prefer to develop on and why?
2. Which development environment and/or tools do you uaw? What's your front/back-end setup?

It wasn't so much the OS that I prefer, rather the development package, user-interface and features. I really liked CodeWarrior since it lets you code at an abstracted level away from the OS. Then you'd compile the binaries and it would make installer packages for MacOS, Windows 3.1/9x/Win32 (WinXP was a wet-dream at the time) or several UNIX variants. I also like the Borland Delphi for Windows environments. Nowadays, programming doesn't get easier than Xcode that comes with Macs. Check out the developer package they have available for the iPhone.



3. Do you develop on your own, two-four people, or in a larger team?
4. Do you program for a living, for fun, or both, and have you contributed to any open source projects?I used to work on team projects. Each of us would have a particular component to work on. I did a lot of user front-ends. I'd set up video-cameras with test-subjects and track where their eyeballs go to look for things, how they move their hands when using the mouse, clicking-patterns, etc. Then I'd optimize the UI to be as efficient as possible with minimal amount of operations.

Nowadays, most of my programming are scripts. Primarily playing with Python for Interactive Brokers and C# for Ninjatrader. They automate manual procedures and saves me a tonne of time. Also a lot of Bash and C-shell scripting.

Maelstrom
10-28-09, 12:57 AM
wow...borland...thats a flashback haha

cuda2k
10-28-09, 08:28 AM
1. Which OS do you prefer to develop on and why?

Windows, most likely because it's what I do 99% of my work in, and most of my Linux experience was in college and on a time crunch and thus no fun.

2. Which development environment and/or tools do you uaw? What's your front/back-end setup?

The majority of my recent work has been in ASP.NET: C# up front, MSSql on the back end. Plenty of javascript with jquery, some AJAX, dynamic CSS generation, etc etc. Started out with Visual Studio 2003, then 2005, now 2008. The day-job also has me working with Visual Basic 6 a fair bit to support our existing product. In the past I've played with Eclipse (never got it working well enough to really evaluate it), done my share of notepad / crimson editor development of Java and/or C++ back in the college days as well.

3. Do you develop on your own, two-four people, or in a larger team?

I develop on my own (http://velobase.com) on the side, but my day job is developing Corporate Real Estate software in a team of 8 people.

4. Do you program for a living, for fun, or both, and have you contributed to any open source projects?

Both. Started VeloBase.com as a side project to get up to speed in ASP.NET when we started the new project at work. At this time I have not contributed to any Open Source projects.

KingTermite
10-28-09, 09:01 AM
If you've programmed on both OSs (especially recently):

1. Which OS do you prefer to develop on and why?
2. Which development environment and/or tools do you uaw? What's your front/back-end setup?
3. Do you develop on your own, two-four people, or in a larger team?
4. Do you program for a living, for fun, or both, and have you contributed to any open source projects?

I've done very little Linux programming, but that might be part of the answer you are looking for.

1. Windows, tools are very basic low software maturity level in Linux.

2. In windows mostly Visual Studio (regular, not express) for most things. In Linux, that was the problem. I was never happy with any setup I found or researched. I was looking in to WxWidgets at one time as a platform for GUI development in Linux, but never carried it out. I played with Eclipse a little, but again, not far.

3. Nowadays, on my own mostly, even at work.

4. Both. Never contributed to any open-source projects. Thought about it a few times, but when I looked in to them they seemed too chaotic for me like a lot of the Linux world.


I love the idea of Linux and open-source (use many open-source software tools). But here are my two main problems with the Linux world.

1.) Too chaotic. Too many flavors of Linux to look through if you want to use it. I would rather see the creators concentrate on making a few of the larger distributions more viable and thinking they need to branch yet another new one.

2.) Most of the software development in the Linux world (most=90%) is done by rookie programmers, either kids who've barely learned how to code yet, or long-time enthusiasts who have never had any true education in software development. Sadly, many of these types "rule the roost". Most of the projects are controlled by people who really don't know what they're doing.

Most of the software is buggy. When I first started playing with Linux, I had apps crash on me ALL THE TIME. Granted it doesn't crash the whole OS because the OS is pretty stable, but it's quite frustrating when all your apps are crashing. You mention it in a Linux forum and you get the same answer, "grab the code, fix it, recompile it".

That's the whole freaking point of an OS and software. I want to USE it.....not go spend hours, days, weeks to fix every application I want to use.

That's why I like the idea of open-source, but if that model doesn't change, I don't think it will ever get any more market share or acceptance than it already has. Which is a shame....because its a great idea.

ModoVincere
10-28-09, 09:04 AM
I prefered a DOS environment and Clipper 5.3e.

trsidn
10-28-09, 09:08 AM
wow...borland...thats a flashback haha

fer sure. For years I used the borland text editor for any programming stuff I did.
Haven't programmed anything in a loooooong time tho.

KingTermite
10-28-09, 09:20 AM
I prefered a DOS environment and Clipper 5.3e.
I loved the hell out of DOS. Now I know it was not the best designed OS, but I knew it inside and out! Loved DOS to death! I still use a command line often because of my DOS experience.


fer sure. For years I used the borland text editor for any programming stuff I did.
Haven't programmed anything in a loooooong time tho.

Yep....I used Borland Turbo C++ for DOS, then the first version of Borland C++ Builder for Windows. Now you can find Turbo C++ free from the borland site "software archives".

ModoVincere
10-28-09, 09:21 AM
I loved the hell out of DOS. Now I know it was not the best designed OS, but I knew it inside and out! Loved DOS to death! I still use a command line often because of my DOS experience.

Yep....I used Borland Turbo C++ for DOS, then the first version of Borland C++ Builder for Windows. Now you can find Turbo C++ free from the borland site "software archives".

you probably love unix environments as well. I do.

KingTermite
10-28-09, 09:22 AM
you probably love unix environments as well. I do.

Yup! That's the part about Linux I love the best. Getting back to a command line and writing scripts to do things.

KingTermite
10-28-09, 09:23 AM
you probably love unix environments as well. I do.

BTW...have you ever used VMS? The OS for DEC (Digital Equipment Computer, now Compaq).


It was basically a Unix type OS, but syntax was very much like DOS.

ModoVincere
10-28-09, 09:31 AM
BTW...have you ever used VMS? The OS for DEC (Digital Equipment Computer, now Compaq).


It was basically a Unix type OS, but syntax was very much like DOS.

can't say I have.

but I loved the old BAT files in Dos.....made things quite easy to do. Not sure I could even put one together now...its been so long since using those.

KingTermite
10-28-09, 09:35 AM
can't say I have.

but I loved the old BAT files in Dos.....made things quite easy to do.

True that....if you learn the features the Unix/Linux scripts are like that but even MORE powerful. It's very similar to Perl which is a fully functional scripting language.

VMS was much like Unix. Pretty much had all the same features, but the commands were more like DOS. Example, to view files in Unix, "ls" with switches like "-a -l -d", etc..... In VMS it was "DIR" with switches like "/dir /long /all".

The issue I hated was there was not as much built in to VMS like Unix because less programmers I guess. So there were no editors that were worth a crap in the VMS computer I used to use (and we had no net access to try to find one either).

DannoXYZ
10-28-09, 10:15 AM
Heh, heh... VMS. I got my professional start in high-school on a Vax 1170 at Ames Research. I think a Trash80 had more computing power than that beast...

KingTermite
10-28-09, 10:19 AM
Heh, heh... VMS. I got my professional start in high-school on a Vax 1170 at Ames Research. I think a Trash80 had more computing power than that beast...

Wouldn't surprise me...first one I worked on (first job after high school) was a VAX 730 (old even then); although they did get better. The process to get to email and use email was so ridiculously cumbersome, virtually nobody bothered with email. The ones I worked on weren't that powerful, but they were stable as hell. I liked VMS. :)

chipcom
10-28-09, 10:23 AM
*nix using vi....everything else is for wussy. :D

Little Darwin
10-28-09, 10:26 AM
1. Which OS do you prefer to develop on and why?

I am OS agnostic... I usually develop on Windows, but I don't care what platform, just let me code.

2. Which development environment and/or tools do you use? What's your front/back-end setup?

Mostly lately it is scripting, so it is Notepad/TextPad... I use Eclipse when I tinker with Java, and whatever tools are provided with my other languages. I have virtually always been the master of the non-standard software within the company. If nobody else knew the environment or language, it ended up in my cubicle. ;)

3. Do you develop on your own, two-four people, or in a larger team?

I have usually coded alone. Even on a multi-user team, the tasks were compartmentalized to the point where I worked alone for the most part.

4. Do you program for a living, for fun, or both, and have you contributed to any open source projects?

Used to be mostly for work. Then I got promoted to the level of my incompetence, so my recent coding is mostly personal. I think I contributed a couple of lines of code to an open source program several years ago, but no significant open source work.

KingTermite
10-28-09, 10:28 AM
*nix using vi....everything else is for wussy. :D

Watch it masochist boy....if the Emacs zealots see this, the thread will end up in P&R. :p:innocent:

MrCrassic
10-28-09, 11:28 PM
I did about 15-years of software-development programming from the mid-80's. About 10 of that was with a company that made a shopping-guide/price-database for the bike-industry.



It wasn't so much the OS that I prefer, rather the development package, user-interface and features. I really liked CodeWarrior since it lets you code at an abstracted level away from the OS. Then you'd compile the binaries and it would make installer packages for MacOS, Windows 3.1/9x/Win32 (WinXP was a wet-dream at the time) or several UNIX variants. I also like the Borland Delphi for Windows environments. Nowadays, programming doesn't get easier than Xcode that comes with Macs. Check out the developer package they have available for the iPhone.


I used to work on team projects. Each of us would have a particular component to work on. I did a lot of user front-ends. I'd set up video-cameras with test-subjects and track where their eyeballs go to look for things, how they move their hands when using the mouse, clicking-patterns, etc. Then I'd optimize the UI to be as efficient as possible with minimal amount of operations.

Nowadays, most of my programming are scripts. Primarily playing with Python for Interactive Brokers and C# for Ninjatrader. They automate manual procedures and saves me a tonne of time. Also a lot of Bash and C-shell scripting.

Trivial information, but I believe CodeWarrior was the only program that natively supported SDKs to develop for PalmOS.

But yeah...Delphi is truly throwback.

MrCrassic
10-28-09, 11:29 PM
If you're on Linux, then the best "IDE" so to speak is probably just using vi or emacs, and compiling with whatever compiler you're used to. At least that's how I do it anyway.

UmneyDurak
10-28-09, 11:47 PM
Visual studio c/c++ debugger in linux environment would solve all my problems. Just saying... :innocent:
I don't like gdb, yes I am a woosy.
For some of my latest VMs/Compilers written in C/C++ hacking the development has been done in VS, testing, benchmarking, compiling in cygwin/u4win, linux OS. Only OS I really dislike for development is MacOS. I worked on my own, part of a development team, and in small groups for school projects.
Is there a point to this mustang1?

UD

mustang1
10-29-09, 01:17 AM
Visual studio c/c++ debugger in linux environment would solve all my problems. Just saying... :innocent:
I don't like gdb, yes I am a woosy.
For some of my latest VMs/Compilers written in C/C++ hacking the development has been done in VS, testing, benchmarking, compiling in cygwin/u4win, linux OS. Only OS I really dislike for development is MacOS. I worked on my own, part of a development team, and in small groups for school projects.
Is there a point to this mustang1?

UD

I came across this recently: http://www.stsc.hill.af.mil/CrossTalk/2008/01/0801DewarSchonberg.html

Along with some other articles I've read, it got me thinking about programmers at work versus those who program for fun. At work, someone higher up made the decision to use some OS with some development tool and forced the programmers at that company to go along with it. I wanted to know what programmers, given free reign, and more importantly, self-motivation (thus, at home on their own projects with no intentions of making money, at least not as the primary objective) would use.

Also does learning Ada/LISP/C make you a better programmer even if today you're using higher level languages or doesn't it matter any more? I noticed a number of people are using scripting/dynamic languages. I wanted to see who uses OSS all the way (from OS/DB/Web/ to tools) or just partially, or 'closed' software most of the way.

UmneyDurak
10-29-09, 11:17 AM
I came across this recently: http://www.stsc.hill.af.mil/CrossTalk/2008/01/0801DewarSchonberg.html

Along with some other articles I've read, it got me thinking about programmers at work versus those who program for fun. At work, someone higher up made the decision to use some OS with some development tool and forced the programmers at that company to go along with it. I wanted to know what programmers, given free reign, and more importantly, self-motivation (thus, at home on their own projects with no intentions of making money, at least not as the primary objective) would use.

Also does learning Ada/LISP/C make you a better programmer even if today you're using higher level languages or doesn't it matter any more? I noticed a number of people are using scripting/dynamic languages. I wanted to see who uses OSS all the way (from OS/DB/Web/ to tools) or just partially, or 'closed' software most of the way.

Great Article. In my undergrad I was exposed to Scheme, C/C++, x86/RISK assembly, Java. In the end I think it made me a more well rounded programmer and more prepared for things that I did/do after graduation. Look in to a 61a-c series of CS classes in UC Berkeley. I think it is one of the better teaching models.

UD

DannoXYZ
10-29-09, 09:41 PM
Personally, I like assembly the most. Back in the early days, the godly-programmers were assembly experts. Guys like Peter Ward, Bill Budge, Bob Bishop, Olaf Lubeck, Don Fudge, Silas Warner, Warren Robinnett, Nasir, Dan Gorlin, Doug Smith, etc. Does Infocom, Sierra, Broderbund, Electronic Arts ring a bell? Heck, with only 16kb of memory, you had to write compact assembly code that would overwrite itself as it went along and pulled the next pieces of the program off disk... or tape! :eek:

mlts22
10-29-09, 11:46 PM
If you've programmed on both OSs (especially recently):

1. Which OS do you prefer to develop on and why?
2. Which development environment and/or tools do you uaw? What's your front/back-end setup?
3. Do you develop on your own, two-four people, or in a larger team?
4. Do you program for a living, for fun, or both, and have you contributed to any open source projects?

1: OS agnostic as well. I can find some interesting, specialized tools on Linux, but in general, I can write an app fairly quickly in .NET and have it ready to go.

2: Various on environment. Whatever needs done in. Linux, I have a vi window, and a command prompt window for building. OS X, various windows. Windows, I use VS.

3: My my lonesome.

4: I've done it to "scratch itches", and have contributed (mainly as a tester/QA person) to some QA projects.

MrCrassic
10-30-09, 08:33 PM
I came across this recently: http://www.stsc.hill.af.mil/CrossTalk/2008/01/0801DewarSchonberg.html

Along with some other articles I've read, it got me thinking about programmers at work versus those who program for fun. At work, someone higher up made the decision to use some OS with some development tool and forced the programmers at that company to go along with it. I wanted to know what programmers, given free reign, and more importantly, self-motivation (thus, at home on their own projects with no intentions of making money, at least not as the primary objective) would use.

Also does learning Ada/LISP/C make you a better programmer even if today you're using higher level languages or doesn't it matter any more? I noticed a number of people are using scripting/dynamic languages. I wanted to see who uses OSS all the way (from OS/DB/Web/ to tools) or just partially, or 'closed' software most of the way.

I don't think that learning C makes you a better developer, as much as it teaches one how to interact much more closely with their hardware. In languages like C, you have to worry about bit order, manual memory allocation and cleaning up your own garbage, which are things that are much closer to Assembly than C#, Java or any of those languages are.

However, learning a higher-level language gives developers a LOT more creativity to express what they want to do. A simple, but very topical, example is dynamic memory allocation for strings. In C, a char variable needs to have its size stated at initialization, and its size has to be a const int. You can control this a little better by using malloc instead, but forgetting to free it afterwards could be detrimental to the system's resources. In C++, you could just use strings or vectors to accomplish the same thing, and have memory controlled with new and delete. Even that can run into problems, with C# and Java taking care of this for you.

Again, I mostly use scripting languages because they help get what I need done most efficiently. It's about picking the right tool for the job because in most cases, people aren't going to care how it's written as long as the product's delivered.

MrCrassic
10-30-09, 08:39 PM
Great Article. In my undergrad I was exposed to Scheme, C/C++, x86/RISK assembly, Java. In the end I think it made me a more well rounded programmer and more prepared for things that I did/do after graduation. Look in to a 61a-c series of CS classes in UC Berkeley. I think it is one of the better teaching models.

UD

My school's Computer Engineering program does the same thing, though I wished that more emphasis was placed on the fundamentals earlier into the program. I liked my professor for "Intro to Programming," but the class itself was a joke. We didn't even touch object-oriented programming...and we used C++, mind you! I learned a good deal of what I know about C++ through a co-op; thank goodness I knew Java beforehand...

We learned C++ (though barely), used Java to learn data structures, learned Assembly using a Motorola MC68HC12 (wished we learned x86, since that's much more applicable; the fundamental calls are mostly the same, though) and are using C for introduction to network (socket) programming (i.e. CCNA material without the Cisco routers or the exam voucher).