My response would any language that utilizes all of the logical structures of a modern programming language. Schools never get too in-depth in the language anyway, so it would be more important to teach the logic than actually the code. Once you learn the logic, can get a dummies guide to break into any language you need to learn the syntax for.
Robert Fisher
No virus
found in this incoming message.
Checked by AVG - http://www.avg.com
Version: 8.0.138 / Virus Database: 270.5.6/1579 - Release Date: 7/29/2008 6:43
AM
I would concur. Teaching how to program is better than teaching specific languages. A good programmer should have the ability to program in any language.
It should be a question of syntax, not ability to program.
I would concur. Teaching how to program is better than teaching specific languages. A good programmer should have the ability to program in any language.
It should be a question of syntax, not ability to program.
You missed my point. A programmer should be able to program in any computer language. If your employer is a either a C#, Java, VB, or C++ (I could continue to name languages), a programmer uses the same skill set to perform the skill of programming. How he implements a given feature is a question of the syntax of the chosen language not his ability to program. The same basic concepts are involved no matter the language chosen. If I ask you to write a program to balance checkbooks, you must do the same things no matter what the chosen computer language is.
That’s what my school did for me. We started first term with Pascal to understand some basic programming structures. The next term, took Assembly, followed by C and C++. I think most CS degrees should still teach some low level programming, so that you can also more appreciate what modern languages do for you.
From:
bs...@googlegroups.com [mailto:bs...@googlegroups.com] On Behalf Of Jim
McKeeth
Sent: Tuesday, July 29, 2008 2:25 PM
To: bs...@googlegroups.com
Subject: [BSDG] Re: The 'Anti-Java' Professor and the Jobless Programmers
CompSci should teach at least ASM and C++ or Delphi - a
language that does not automagically manage memory. It can also teach
Java, C#, PHP, Ruby, etc. It is important to understand the fundamentals
of programming logic (algorythems and data structures, etc.) and the low level
way a computer actually works (registers, memory management, etc.) to be a good
programmer. Any langauge that manages memory and abstracts the hardware
does not teach the low level, but it can teach the fundamentals.
To balance an single account or thousands of accounts you simply take loop through a batch of transactions adding or subtracting amounts from a running balance. This same logic is used irrespective to language or scale. How you implement that logic is a question of a chosen language and its available syntax. Do you use pushes, pops, or variables? Do you use a for/next loop or do/while structure? Again, all are questions of a given languages syntax.
You chose all imperative languages… I think there should be diversity in the types of language, as well. Knowing both Java, C#, C++, Delphi and PHP is all well and good, but there should be some other types of languages in there. Think Prolog, Erlang, F#.
You should get a grounding in several ideas such as: imperative, event-driven, OO, concurrent, distributed, procedural, functional, generic, lazy evaluation, reflection, type safe, static typing, dynamic typing, strong typing, weak typing, etc.
:-)
STeve
From: bs...@googlegroups.com
[mailto:bs...@googlegroups.com] On Behalf Of Jim McKeeth
Sent: Tuesday, July 29, 2008 1:25 PM
To: bs...@googlegroups.com
Subject: [BSDG] Re: The 'Anti-Java' Professor and the Jobless
Programmers
CompSci should teach at least ASM and C++ or Delphi - a
language that does not automagically manage memory. It can also teach
Java, C#, PHP, Ruby, etc. It is important to understand the fundamentals
of programming logic (algorythems and data structures, etc.) and the low level
way a computer actually works (registers, memory management, etc.) to be a good
programmer. Any langauge that manages memory and abstracts the hardware
does not teach the low level, but it can teach the fundamentals.
Lets see, dusting off my long repressed comp sci language list.
First Fortran, C++, C, SmallTalk, LISP, ASM (SPARK and 6502), machine language (I was a hardware major), COBOL (but don't tell anyone else that), and finally Java.
But, for me, I would stress more of a emphasis on principles (OO and functional), design patterns, and algorithms.
Languages are easy.
Ah, the good old days, programming in 6502 assembly language. After 18 hours on the plane with nothing to read but “6502 Assembly Language programming” by Lance Leventhal, I learned mine the hard way. I actually published two articles before I purchased my first compiler.
Ah, the good old days, programming in 6502 assembly language. After 18 hours on the plane with nothing to read but "6502 Assembly Language programming" by Lance Leventhal, I learned mine the hard way. I actually published two articles before I purchased my first compiler.
//programmer with general background
if (s == null)
s = "default";
//C# coder
s = s ?? "default";
//JS coder
s = s || "default"; //not many people know you can do this in JS
It's a small example, but there are MANY MANY more, especially when you get
into patterns and frameworks available to make less code work better, or
common solutions reusable. I am pretty good with picking up new languages, I
would consider myself near expert in JavaScript, and pretty good with C#... I
get by with VB (thanks to the .Net framework), and know a bit from a half
dozen other languages....
But I guarantee you I am no where near as productive in Ruby or Perl... And
most things would take me at least twice as long in those languages. The same
is true for most people... You may be able to grow and adapt well, but
sometimes a company wants someone who can hit the ground running...
Don't get me wrong, a person with general knowledge can learn new languages
more quickly than someone who's never ventured farther than VB, and can't
write their way out of a paper bag in any other language... But there is
something to be said for being VERY knowledgeable in a more narrow field. For
that matter, there will always be a need for code monkeys who can pump out
crud (that may not be pretty, but works) based on a good, clear design, but
this doesn't pay as well.
--
Michael J. Ryan - tracker1(at)theroughnecks(dot)com - www.theroughnecks.net
icq: 4935386 - AIM/AOL: azTracker1 - Y!: azTracker1 - MSN/Win: (email)
... FRA #027: There's nothing more dangerous than an honest businessman.
Cross-replications systems can be very complex, much more so than a running
balance against a batch of transactions... where does a given transaction
against a given set of accounts go? a single server won't be able to handle
the load of several million accounts.
--
Michael J. Ryan - tracker1(at)theroughnecks(dot)com - www.theroughnecks.net
icq: 4935386 - AIM/AOL: azTracker1 - Y!: azTracker1 - MSN/Win: (email)
... FRA #223: Beware the man who doesn't make time for <i>oo-mox</i>.
You would be surprised how many people say "I have no idea".
As to your earlier example of using one method of providing defaults
versus another: You seem to be forgetting that you work in a compiler
driven environment. I suspect each of your examples produce the same
underlying "machine code" (p code or whatever). None offer an
improvement upon the other. I would suggest however that the best
method is the more understandable by someone without your own
experience. A programmer should write programs for somebody without his
knowledge. Using the latest, language specific, features is not always
the best method. I program with the viewpoint that I might be replaced
in the next 24 hours and not from the viewpoint of trying to ensure job
security. I consider quality code the best job retention skill, not the
obscurity of knowledge. While I do not get paid by the keystroke, I
strive to write code that is easily understandable by a lay person. In
theory you should be able to take the average idiot and set him down
before your code and he, using it only, have a reasonable clue as to
what it does, how it does it, and so on.
-----Original Message-----
From: bs...@googlegroups.com [mailto:bs...@googlegroups.com] On Behalf Of
Michael J. Ryan
Sent: Thursday, July 31, 2008 12:03 AM
To: bs...@googlegroups.com
Subject: [BSDG] Re: The 'Anti-Java' Professor and the Jobless
Programmers
Sitemeter tracking also breaks all sites who host it, it appears.
:-)
Steve
Potentially a big project. Reply to me offline if you are interested, or know of a resource that/who can help.
Thanks.
-Rich
Richard
Hundhausen
Microsoft Regional Director
Visual Studio Team System MVP
blog.hundhausen.com
Boise, Idaho
COBOL: California state computers can't handle pay cut, controller says
http://www.sacbee.com/111/story/1132588.html
Basically, California can't find COBOL programmers to keep their
(aging) system up to date.
Obviously there are multiple problems here, not being able to find
programmers is just one of them (like trying to make all state workers
subsist on minimum wage).
I don't know too many Delphi programmers on the market these days.
--
I don't know too many Delphi programmers on the market these days.
Now the dev lead is going to go to the company telling them the old
program is so hopelessly out of date, and badly written, that a
complete rewrite is needed so the application can do what the business
needs it to do. (does it really, maybe, maybe not). Business says:
"OK, Mr Dev Lead, you're the expert, start the rewrite" Has anyone
else seen this happen?
Or, another one that I've seen in the wild: the original application
was written in Delphi 3, nobody-but nobody, is still developing in
delphi 3, no one is selling the component libraries they need, you
can't get ANYTHING! And now they want to add a feature. Sorry, but
there is no clear upgrade path in that case. You are talking about a
large rewrite any which way you do it. Might as well rewrite it.
(seen this one a couple of times as well).
--
Or, another one that I've seen in the wild: the original application
was written in Delphi 3, nobody-but nobody, is still developing in
delphi 3, no one is selling the component libraries they need, you
can't get ANYTHING! And now they want to add a feature. Sorry, but
there is no clear upgrade path in that case. You are talking about a
large rewrite any which way you do it. Might as well rewrite it.
(seen this one a couple of times as well).