PDA

View Full Version : your favorite type of programming ...


slavik
March 1st, 2008, 04:30 PM
To break away from the usual programming language wars (which are fun and interesting). My new question is, what kind of programming do you like? (system, low-level, GUI, web, etc.)

the_unforgiven
March 1st, 2008, 04:45 PM
To break away from the usual programming language wars (which are fun and interesting). My new question is, what kind of programming do you like? (system, low-level, GUI, web, etc.)
My choice:
systems + low-level.
OK, that's kinda redundant :)

Lster
March 1st, 2008, 04:46 PM
Algorithmic. :) Low level, graphical, high-performance...

ruy_lopez
March 1st, 2008, 04:59 PM
I like low-ish level. C programming fulfils most of my requirements. Having to manage memory can sometimes be a nuisance but the results are worth it. Network programming is interesting.

LaRoza
March 1st, 2008, 05:11 PM
Web based, mostly.

I prefer to use XHTML, CSS, ECMAScript and a server side language (PHP, at the moment) work together to make a valid, usable, and functional site.

I try to learn and practice all sorts of programming, on lower levels, and different paradigms, but I prefer web based programming.

NathanB
March 1st, 2008, 07:02 PM
Web based, mostly.

I prefer to use XHTML, CSS, ECMAScript and a server side language (PHP, at the moment) work together to make a valid, usable, and functional site.

I try to learn and practice all sorts of programming, on lower levels, and different paradigms, but I prefer web based programming.

{ because this thread is missing a topic of discussion... }

Some would say that what you do is nothing more than "markup and scripting" -- not real(tm) "programming" in the traditional sense. Any 14 year old can "make a valid, usable, and functional site" using those same tools and same skill-set.

What is your response to that?

How do you defend yourself against the academics who'd claim that you must use a CompSci-approved "programming language"(tm) to be able to call yourself a programmer?

How much Art and/or Paradigm and/or Eye Candy can you add to the mix until it can no longer be termed Engineering??

Is it "progress" when we move it away from the 'technical/ concrete/ practical' side toward the 'artistic/ abstract/ language' side of the spectrum?

Nathan.

popch
March 1st, 2008, 07:07 PM
Some would say that what you do is nothing more than "markup and scripting" -- not real(tm) "programming" in the traditional sense. Any 14 year old can "make a valid, usable, and functional site" using those same tools and same skill-set..

Some would be talking through their hats. ECMAscript and PHP are full blown languages, albeit ugly ones. Anyone producing a fully functional application using those tools has accomplished quite some feat. My hat's off to any 14 year old making a valid, usable and functional site.

scourge
March 1st, 2008, 07:36 PM
Currently low-level, high-performance, cross-platform, parallel command line stuff like chess engines. I also have one project that needs a GUI, so I'm experimenting with wxWidgets.

pmasiar
March 1st, 2008, 08:31 PM
"programming" in the traditional sense. Any 14 year old can "make a valid, usable, and functional site" using those same tools and same skill-set.

There are many kinds of programming, like there are many kinds of medical-related professions. Like you don't ask surgeon to make you root canal or prescribe glasses, many different programmers happily coexist.

How much Art and/or Paradigm and/or Eye Candy can you add to the mix until it can no longer be termed Engineering??

Software engineering is one kind of programming, but not the only one.

Is it "progress" when we move it away from the 'technical/ concrete/ practical' side toward the 'artistic/ abstract/ language' side of the spectrum?

It depends of your definition of "progress". One of my friend noticed that during human history, what was deemed "progress" always enabled to increase density of population: from humanoid apes to hunter-gatherer, then farming, then industrialization, automobile, mass transit - and now computer networks allows us to make even bigger, less livable cities (he worked in networking). For him it was proof how silly thing progress is, and how misled was those promoting progress. :-)

For me, progress in programming means more people can solve bigger part of their own problems with less help from traditional "computer scientist". Like with reading, 1000 years ago nobility had writers, who could read and write for them. Progress was invention of printing press with movable type, which allowed books be cheap and skill of learning become common. Such a king would be illiterate barbarian now. a Programming now is becoming "second literacy", with PC and Linux playing role of printing press with movable type.

Please note that printing press without movable type does not work: China had first but not second. So PC without Linux, with Windows only, is not a such enabler.

LaRoza
March 1st, 2008, 08:52 PM
Some would say that what you do is nothing more than "markup and scripting" -- not real(tm) "programming" in the traditional sense. Any 14 year old can "make a valid, usable, and functional site" using those same tools and same skill-set.

What is your response to that?

How do you defend yourself against the academics who'd claim that you must use a CompSci-approved "programming language"(tm) to be able to call yourself a programmer?

How much Art and/or Paradigm and/or Eye Candy can you add to the mix until it can no longer be termed Engineering??

Is it "progress" when we move it away from the 'technical/ concrete/ practical' side toward the 'artistic/ abstract/ language' side of the spectrum?


Some might say that, but I never heard them. They usually come to me when they have problems getting things to work in IE, Firefox, Opera, and Safari.

I never had to defend myself against any academics, so I don't know. If anyone has an issue with me being called a "programmer", then don't call me that.

I would then ask if any of the other languages I have studied are "CompSci-approved" whatever that means. For some of the languages, I would ask them to check out my wiki.

I don't care for terminology, and since the only things with which I interact that I care about are computers, I very rarely get into an argument with them.

NathanB
March 1st, 2008, 09:04 PM
Some would be talking through their hats. ECMAscript and PHP are full blown languages, albeit ugly ones. Anyone producing a fully functional application using those tools has accomplished quite some feat. My hat's off to any 14 year old making a valid, usable and functional site.

Ruby and Python can be described as "full blown" too, but didn't Rosling rail against such things a few years ago? I'm not saying he was correct. But I'm here to say there are many so-called "old-timers" who agree in spirit, if not substance, to what he was driving at. Enough to make one wonder if there isn't more to it than just his desire to protect Java.

Heck, even Java doesn't make the cut. How can you say that you have control of what the application does if you don't have pointers? If it is doing garbage-collecting "behind your back", how can the programmer claim to be "in control" of the application and thus be responsible for what it does?

Nathan.

mike_g
March 1st, 2008, 09:05 PM
I personally prefer application based development to web development. I don't think that web development is easier tho. I have seen lots of C programmers bang on about how easy web development is, but in my experience I have found thats not true at all. One example is that its a pain not having a compiler to point out mistakes and the non-strict style of most web based languages make it very easy for bugs to go unnoticed. And yeah cross browser compatibility can be a bitch to get right.

mike_g
March 1st, 2008, 09:10 PM
Heck, even Java doesn't make the cut. How can you say that you have control of what the application does if you don't have pointers? If it is doing garbage-collecting "behind your back", how can the programmer claim to be "in control" of the application and thus be responsible for what it does?
Well going along with the same kind of logic, how can you say you're in control when you cant directly allocate memory like back in the DOS days?

Things change. Computers are faster. Theres only a relatively small proportion of things that need that level of control now.

NathanB
March 1st, 2008, 09:17 PM
There are many kinds of programming, like there are many kinds of medical-related professions. Like you don't ask surgeon to make you root canal or prescribe glasses, many different programmers happily coexist.


True. But you don't call the eye-doctor a "surgeon." You don't call the dentist a "surgeon." Do you see the distinction?


Software engineering is one kind of programming, but not the only one.



It depends of your definition of "progress". One of my friend noticed that during human history, what was deemed "progress" always enabled to increase density of population: from humanoid apes to hunter-gatherer, then farming, then industrialization, automobile, mass transit - and now computer networks allows us to make even bigger, less livable cities (he worked in networking). For him it was proof how silly thing progress is, and how misled was those promoting progress. :-)


Do you see how software development "progress" could be misleading too?


For me, progress in programming means more people can solve bigger part of their own problems with less help from traditional "computer scientist". Like with reading, 1000 years ago nobility had writers, who could read and write for them. Progress was invention of printing press with movable type, which allowed books be cheap and skill of learning become common. Such a king would be illiterate barbarian now. a Programming now is becoming "second literacy", with PC and Linux playing role of printing press with movable type.


Some would call that "Left-wing Utopian Dreaming", but I see your point.


Please note that printing press without movable type does not work: China had first but not second. So PC without Linux, with Windows only, is not a such enabler.

What gives Linux the edge in this regard? That it arrives with the "toolkit" in the box?

Nathan.

LaRoza
March 1st, 2008, 09:18 PM
To break away from the usual programming language wars (which are fun and interesting). My new question is, what kind of programming do you like? (system, low-level, GUI, web, etc.)

Someone found a reason to start flaming it seems.

(Sorry, I didn't think my personal preferences would cause such things.)

LaRoza
March 1st, 2008, 09:22 PM
True. But you don't call the eye-doctor a "surgeon." You don't call the dentist a "surgeon." Do you see the distinction?


If this dentist performs oral surgery, he/she is a surgeon.

If the eye-doctor (Optometrist, I would have said) does surgery, he/she is a surgeon.

I had surgery done on my eye, when I was young. I would say anyone who could remove an eye from the skull, detach a muscle and reattache is elsewhere and put everything back is a surgeon, no matter the phrase typically used. (Yes, that is what was done to me.)

yabbadabbadont
March 1st, 2008, 09:26 PM
Someone found a reason to start flaming it seems.

(Sorry, I didn't think my personal preferences would cause such things.)

Don't blame yourself for the (apparent) rudeness of others. That post came awfully close to being a personal attack in my opinion. It was good to see that you, and most others, took the high road.

Now for an on-topic response: I enjoy any kind of programming/scripting that allows me to learn new things while accomplishing a goal. If someone comes along afterwards and comments "Hey, that's neat", then that is just a nice bonus. :)

LaRoza
March 1st, 2008, 09:30 PM
Don't blame yourself for the (apparent) rudeness of others. That post came awfully close to being a personal attack in my opinion. It was good to see that you, and most others, took the high road.

Now for an on-topic response: I enjoy any kind of programming/scripting that allows me to learn new things while accomplishing a goal. If someone comes along afterwards and comments "Hey, that's neat", then that is just a nice bonus. :)

I thought it was awefully personal as well, but moderating anything I am involved in is against general practice. We usually let another staff deal with it...

I love learning new things as well, usually I don't have commentary, though. :)

yabbadabbadont
March 1st, 2008, 09:41 PM
The best compliment I ever received for something I wrote was from a customer of the company for which I last worked. I was dialed into her system and trouble-shooting a problem with another part of our software suite. During the course of the conversation she said, "Why can't this application just work like <the one I wrote> always does?!? We never have any trouble with that app."

My co-workers kept asking me why I was smiling for the rest of that day. :D

elithrar
March 1st, 2008, 09:49 PM
Web- & scripting- languages. Python & Ruby, preferably. Both are most definitely fully qualified programming languages, even if you are not specifically handling garbage collection & memory management. I lean towards system administration scripting and web applications - the latter of which can be especially complex, even with frameworks like Rails & Django.

NathanB
March 1st, 2008, 11:51 PM
Someone found a reason to start flaming it seems.


I assure you that no flaming is involved. It is obvious from my post (it contained serious thought-provoking questions -- not accusations) that I merely wished to bring discussion to a thread that lacked any.

If Slavik wants to take a poll, this forum has provisions for such.

Nathan.

pmasiar
March 1st, 2008, 11:56 PM
True. But you don't call the eye-doctor a "surgeon." You don't call the dentist a "surgeon." Do you see the distinction?

No. They call all of them "doctors". They call all of us "programmers". "Programmer" is equally generic classification as "doctor".

Do you see how software development "progress" could be misleading too?

Again, what is your definition of "progress"? In my sense, progress (in programming) allows more people solve own problems.

Some would call that "Left-wing Utopian Dreaming", but I see your point.

How literacy is left-wing utopia? Isn't relying on your own facilities, not expecting handouts from "big IT", democratic ideal? In original sense as in Classic Greece or in Roman Republic, before Empire, when all people had a say in governing themselves? Or American Republic?

BTW in Roman times ruling class was educated, only in Medieval period ruling class was illiterate. Literacy did not increased in medieval period, only population density :-)

What gives Linux the edge in this regard? That it arrives with the "toolkit" in the box?

Edge is that Linux provides to user tools to solve own problems. All user need is learning, taking responsibility to solve own problems, and hard work.

NathanB
March 2nd, 2008, 12:04 AM
Don't blame yourself for the (apparent) rudeness of others. That post came awfully close to being a personal attack in my opinion.

Hmm???? Would you *please* explain to us what was "personal" about my post?

"I prefer to use XHTML, CSS, ECMAScript and a server side language (PHP, at the moment) work together to make a valid, usable, and functional site." -- this could describe a few hundred people! LaRosa doesn't have a monopoly on it. He just happened to be a person I thought would be willing to answer a few questions.

Could someone please explain to me why you people are being *so sensitive* in a Programming Talk forum?? Did I miss something?

Nathan.

ruy_lopez
March 2nd, 2008, 12:08 AM
I agree about progress. Breakthroughs in computing don't come from chaining together various web tools into greater and greater abstractions. They come from scientists doing serious work in areas like quantum computing and nano-technology. It's the difference between engineering and science.

Engineers like to make life easy by chaining together tools to create layers, lumping discrete matter together to create higher level objects. It makes it easier to build large systems.

Scientists are more interested in the underlying principles. They want to understand. Once they do understand, they hand over their findings to engineers, who make use of them, for better or for worse.

Software has infinite possibilities. But so too does emptying garbage on the floor. And if you pile garbage up high enough, you might fool yourself into thinking you are making progress.

EDIT: I think, to be fair, NathanB was trying to provoke debate. To me it seemed more playful than obnoxious.

p_quarles
March 2nd, 2008, 12:09 AM
Hmm???? Would you *please* explain to us what was "personal" about my post?

"I prefer to use XHTML, CSS, ECMAScript and a server side language (PHP, at the moment) work together to make a valid, usable, and functional site." -- this could describe a few hundred people! LaRosa doesn't have a monopoly on it. He just happened to be a person I thought would be willing to answer a few questions.

Could someone please explain to me why you people are being *so sensitive* in a Programming Talk forum?? Did I miss something?

Nathan.
Your overall tone is aggressive and accusatory. Take for instance what you just said. Someone described one of your posts as a borderline personal attack on LaRoza's qualifications as a programmer. For this, they are described as being "so sensitive."

There's no need for this kind of bickering and thread-steering. I strongly suggest that you take a cue from the thread title and describe your own habits instead of asking people to "defend" theirs.

NathanB
March 2nd, 2008, 12:23 AM
If this dentist performs oral surgery, he/she is a surgeon.

If the eye-doctor (Optometrist, I would have said) does surgery, he/she is a surgeon.


Either a dentist and an optometrist is simply a general practicioner. They only diagnose the problem -- then send you to a "specialist" who actually performs the surgury.

Nathan.

NathanB
March 2nd, 2008, 12:49 AM
Your overall tone is aggressive and accusatory. Take for instance what you just said. Someone described one of your posts as a borderline personal attack on LaRoza's qualifications as a programmer. For this, they are described as being "so sensitive."


I've been told that I have a concise style to what I write. Perhaps I leave too much to be interpreted by the reader? It is always difficult to see things from the reader's point-of-view.

LaRosa: I am sorry if you took offense to my words. I certainly was not questioning your qualifications. My questions were intended from an objective, enquiring context.

Nathan.

LaRoza
March 2nd, 2008, 01:10 AM
LaRosa: I am sorry if you took offense to my words. I certainly was not questioning your qualifications. My questions were intended from an objective, enquiring context.


Perhaps, but objective and enquiring would be "What do you think of those that do not consider that real programming?"

Not making repeated references to attacks on my programming habits that never took place.

kaens
March 2nd, 2008, 02:41 AM
I enjoy all types of programming, although I do prefer higher-level abstraction-layer based type of stuff (regardless of whether I write the lower-level layers or not.)

My preferred language is common lisp at the moment, although I hardly get to use that for any money-making endeavors. While working, I tend to use python for scripty type of stuff, perl for web-scripty type of stuff, and Ruby on Rails for full-fledged websites (I really can't stand working with PHP. The language snob in me really gets going...)

Oh, and judging from LaRoza's posts, he's (she's?) just as much of a programmer as anybody else. I wouldn't call "writing HTML" programming (maybe for a loose definition of the term), but that's not what LaRoza is doing, and what LaRoza is doing sounds like modern Web Design, which is an activity that requires all the same mental patterns as any other type of "comp-sci approved" problem solving.

ECMAscript is a full-fledged, pretty unique language. PHP is also more of a programming language than not, although I'd say it's a poorly designed one - but that's ok.

LaRoza
March 2nd, 2008, 02:48 AM
ECMAscript is a full-fledged, pretty unique language. PHP is also more of a programming language than not, although I'd say it's a poorly designed one - but that's ok.

PHP5 is very similiar to modern languages. It still has a very cluttered global namespace, which I dislike though.

It can be used to make desktop apps, and be used with GTK.

Its shortcomings are easily understood when it is looked at from its beginning. It wasn't designed to be what it is now. I am sure it is not how Rasmus Lerdorf thought it would be. It was just a few C CGI programs in the beginning for personal use.

vishzilla
March 2nd, 2008, 02:57 AM
Low to Med level programming. I am learning Java and Python! :)

kaens
March 2nd, 2008, 03:00 AM
PHP5 is very similiar to modern languages. It still has a very cluttered global namespace, which I dislike though.

It can be used to make desktop apps, and be used with GTK.

Its shortcomings are easily understood when it is looked at from its beginning. It wasn't designed to be what it is now. I am sure it is not how Rasmus Lerdorf thought it would be. It was just a few C CGI programs in the beginning for personal use.

Oh yeah, it totally makes sense that it ended up the way it is. It seems like it started out as "friendly shortcuts for templating HTML" and just kinda evolved to where it is now, without much in the way of refactoring its base design - which is what I would say is it's major problem.

Every time I use it, I end up feeling like I'm beating my head against the language - like $needle and $haystack being in a different order for different functions. I really don't want to have to look up the order every time I want to use a string-searching function - and I don't use php enough to memorize them all.

Also, the "class" system in PHP feels like it was just bolted on.

It's also got the problem of "everyone with no experience with programming languages who wants to make a website uses this as their first, and thus there is an awful lot of bad php code out there, and bad php tutorials". Not that there isn't good php code - it's entirely possible to write really clean php.

I don't think it supports the notion of first-class functions yet, right? Or having multiple functions with the same name that differ on arguments passed (this is more of a code-beauty issue, I'd rather have a few constructors for a class that say, represents an object that can be retrieved from a DB or made by a user on the fly, than do dispatching in one constructor).

But anyhow, if it works for you, it works for you. Plus it's everywhere you could possibly want for doing web-hosting type of stuff.

HuBaghdadi
March 2nd, 2008, 04:53 AM
I prefer enterprise and distributed applications (Java EE, Web Services, Jini).
I enjoy creating RIA (GWT and OpenLaszlo).

popch
March 2nd, 2008, 05:15 AM
I do not usually write programs which are to be put to any use. I write them for my own entertainment and mostly as proofs of concepts.

Some more recent ones are
A DTD generator [XSLT]
A parser driven by a formal syntax (not unlike BNF) [Two different ones, one in Prolog and one in Smalltalk]
A Forth-like language which I whimsically called NEUF ('not entirely unlike forth') [Smalltalk]
A Wiki engine [Prolog]
A database engine storing all data including the metadata using just four primitives [Prolog]

Josh1
March 2nd, 2008, 08:10 AM
My favourite type of programming is one that does not have bugs.

lnostdal
March 2nd, 2008, 08:54 AM
i like all "kinds" of programming as long as i am in control of what tools i get to use .. after switching to linux in 2001 and finding lots of well supported tools and languages here - i am now always in control of this, which of course is great ... as a bonus many of these tools are portable which means i do not have to bend over for MS when deploying

i now use Common Lisp for everything .. both high and low level

..some of the tools i've been using more recently are:

* SBCL (http://sbcl.sourceforge.net/) (Common Lisp implementation)
* Hunchentoot (http://www.weitz.de/hunchentoot/) (HTTP/web server)
* Postmodern (http://common-lisp.net/project/postmodern/) (Lisp <--> PostgreSQL)
* PostgreSQL (http://www.postgresql.org/)
* Closure XML (http://common-lisp.net/project/cxml/)
* CL-WHO (http://www.weitz.de/cl-who/)
* ..and of course Ubuntu Linux on both the client- and server end

i find that there are many interesting, challenging and even somewhat similar problems in all the different "kinds" you mention .. i don't really differentiate between them the way many seem to do .. instead my "programming mode" or style change depending on what the client/user/other software needs or expects regardless of medium or level (high or low)

supirman
March 2nd, 2008, 10:04 AM
I enjoy all types. I spend a fair amount of my time writing c and assembly for 8/16 bit microcontrollers, but I also implement full blown embedded linux systems on 32 bit architectures which requires programming bootloaders, interacting with the hardware, init scripts, applications, web interfaces, etc.

I generally think that web programming is easier to do, but that's no knock against anybody who does mostly web stuff. I say it's easier to do and learn since the first thing I learned to do was PHP and it was really easy. I learned PHP from a book my freshman year of college before I had taken a single programming class. The fact that it's easy is more of a testament to the language designers.

For work, I do the low level embedded systems programming - it's difficult and challenging so it keeps my attention. For something easier and quicker, I do web programming. Obviously all types of programming have their place.

namegame
March 5th, 2008, 12:05 AM
Right now...my favorite is web-based programming. I'm currently a CS major, but I work for the university's technology department as a web-designer. I usually use CSS with a bit of Java Script and Flash...

chips24
March 5th, 2008, 12:07 AM
Your overall tone is aggressive and accusatory. Take for instance what you just said. Someone described one of your posts as a borderline personal attack on LaRoza's qualifications as a programmer. For this, they are described as being "so sensitive."

There's no need for this kind of bickering and thread-steering. I strongly suggest that you take a cue from the thread title and describe your own habits instead of asking people to "defend" theirs.

sorry if you think im a hypocrite, but i agree