Le 18.10.2013 16:22, Miles Fidelman a écrit :
But now, are most programmers paid by societies with hundreds of programmers?(and whether you actually mean "developer" vs. "programmer")I do not see the difference between those words. Could you give me the nuances please? I still have a lot to learn to understand English for precise terms.The terminology is pretty imprecise to begin with, and probably varies by country and industry. The general pecking order, as I've experienced it is (particularly in the US military and government systems environments, as well as the telecom. industry): Systems Engineer: Essentially chief engineer for a project. (Alternate term: Systems Architect) - responsible for the big picture - translate from requirements to concept-of-operations and systems architecture - hardware/software tradeoffs and other major technical decisionsHardware Engineers (typically Electrical Engineers): Design and build hardware (including computers, but also comms. networks, interfaces,etc.)Software Engineers: Engineers responsible for designing and building software. Expected to have a serious engineering degree (sometimes anEE, often a Computer Science or Computer Engineering degree) andexperience. Expected to solve hard problems, design algorithms, and so forth. Also have specific training in the discipline of softwareengineering. People who's resume says "software engineer" havetypically worked on a range of applications - the discipline is aboutproblem solving with computers. Developer: Vague term, generally applied to people who do the same kinds of work as software engineers. But doesn't carry the connotation of an EE or CS degree. Tends to be commonly used in product development environments. In my experience, a lot of developers start out writing code in their own field of expertise (doctors writing medical applications, musicians writing music software, and so forth). People with "developer" on their resume often have specialties associated with the term - e.g., "game developer" - emphasizing an area of specialization.Programmer: A term I've never actually understood. Basic use seems to be "someone who knows how to program" or "someone who programs for living." But.... I've personally never seen anyone hired purely as a"programmer." (I've hired, and seen hired, a lot of developers and software engineers, but never a pure programmer.) As far as I cantell, the term is a carryover from the early days of large systems - where "systems analysts" figure out what a system was supposed to do(i.e., did the engineering) and then directed programmers to writecode. (Akin to the relationship between a hardware engineer giving adesign to a technician, who would then build a prototype.)Coder (or "code monkey"): A somewhat pejorative term for an unskilled programmer - someone who might have taken a couple of "introduction toprogramming" courses and now thinks he/she can write code. For what it's worth - my observation is that the demand is forsoftware engineers and developers (i.e., skilled people who can solve real problems). But... computer science curricula, at least in a lot of schools, seems to be dumbing down -- a lot of places look more likeprogramming trade schools than serious engineering programs. Not a good thing at all.It seem you attach a lot of importance to schools ( that what I understand in "computer science curricula" ) but I wonder: how do you consider people who learned themselves, before even learning a craft at school ( that's what wikipedia says when I start from the French "métier" and then switch on English language. I understand that it seems to be reserved for physical products in English, but, I like that notion: "A craft is a pastime or a profession that requires some particular kind of skilled work." which makes things different from a simple job. ) ?Would you name them coder, programmer, developer? Something else? Do you consider they are always less efficient that people with high degrees?Well, yes.... engineering is a professional discipline, lots of knowledge (both from books and practical) - generally, folks who workas software engineers a degree in EE, or CS, or CE, or sometimes math.Having said that: - In the early days, say before 1980, that was less so - in thosedays, practically nobody knew anything about computers; I know quite afew people who dropped out of college and went right to work in the field, and never looked back. (For that matter, Bill Gates comes tomind.) These days, though it's a lot harder to get hired for anythingwithout a bachelor's degree - at least in the US (I know that education works a little differently in Europe.) - Also, a lot of people doing software development are NOT degreed engineers
(though it's pretty hard to get hired for anything in the US without a bachelorate in something)
I do not think it can be worse than in France.
It's certainly possible to learn stuff on one's own, but my observation is that true depth and bredth requires some amount of formal education from folks who are already knowledgeable. It's like anything - sure there are self-taught violinists, but most who've achieved a serious level of skill (much less public recognition) started out taking years and years of lessons.
I do not say that best guys never have years of lessons.I think that, lessons by knowledgeable people will help you to develop your knowledge faster, in only one direction, while the self-learners will learn less, and in many directions, so they will probably not be as expert. Then, for both kind of guys, what really matters in the end is how many problems they solved ( problems solved, not products released ).
Accomplished craftsmen (and women) have typically studied and apprenticed in some form.
Self-learners studied, they simply made it themselves.
I sure wouldn't trust a self-taught doctor performing surgery on me -
That's why some professions have needs for legal stuff. We can not really compare a doctor with the usual computer scientist, right? And I said "usual", because most of us do not, and will never work, on stuff which can kill someone. And when we do, verification processes are quite important ( I hope, at least! ), unlike for doctors which have to be careful while they are doing their job, because they can not try things and then copy/paste on a real human.
Ok, but now we're talking an apples to oranges comparison. Installing developers tools is a pain, no matter what environment. For fancy, non-standard stuff, "apt-get install foo" beats everything out there, and "./configure; make install" is pretty straightforward (assuming you have the pre-requisites installed).
But when it comes to packaging up software for delivery to users/customers; it sure seems like it's easier to install something on Windows or a Mac than anything else. Slip in the installation CD and click start.
You mean, something like that ? http://packages.debian.org/fr/squeeze/gdebi http://packages.debian.org/fr/wheezy/gdebiThere is also a kde-version, but kde does not seems to depend on it, unlike gnome, which means only default installations with the gnome DE will have that feature. Note that I gave the links for old-stable, to show that it is not a so recent software. Reading things about it (quickly, I admit), it seem it allows exactly the same procedure than what you want. Double click on package, do what you need to acquire admin rights ( as on recent windows ) and it installs itself. Plus, of course, you do not have the "next, next, next, ..., finish" you will find on windows, and dependencies will really be checked and installed.
In less words: as brainless, less questions, more secure (it still uses dpkg in background, with stuff dpkg can guarantee in terms of dependencies)
With windows, *most* of the time, I had no problem, _if you except the advertisement toolbars_ (I did not had any problem with them myself, but I have seen lot of computers slowly dying thanks to these. Or chrome browsers installed for nothing. In short: malwares.). But in practice, I had lot of dependency problems, without even speaking about drivers ( but I guess that I can not compare on that point, since I never used a linux-based system when XP was just out ). And those dependency problems were never easy to fix, unlike the 3 I had on my heavily personalized Debian boxes (purging everything I do not understand the use, except stuff required "depend" by applications I use is something I did more than once, and taught me a lot). I only consider having between 3 and 4 years of Debian usage, against more than 8 for windows.
I have no hatred for windows, I stopped saying stupid things because of my windows feeling when I discovered Debian. But no, really, you can not say that installing a software is easier on windows.
For mac, I do not know.
Not as common on Linux.
On all linux-based OSes? I doubt it, since there are tools like gdebi. I do not know for other distros, except that gentoo, or arch, for example, probably do not provide such kind of tools.
I think it was made by canonical. I have also noticed more than once URLs starting with "apt://" on ubuntu websites. Those URLs would have installed the package directly by a simple clic on the link, if I had not a Debian without gnome (I guess. Or maybe only Ubuntu installs and configure the tool in question, who knows? Plus, maybe the problem comes from opera. I do not know and do not mind either. I do not want to install stuff that way.).
This is actually what I would name something easy, no? More than on windows, since CD-roms really starts to be less and less important for installing softwares: even for single-player only games you can buy the license on Internet and download the installer. Of course, it does not means that they have disappeared, but I think that, at a moment, their use will be reduced. A lot. Being it bad or good, I do not know.