• Welcome to the new COTI server. We've moved the Citizens to a new server. Please let us know in the COTI Website issue forum if you find any problems.
  • We, the systems administration staff, apologize for this unexpected outage of the boards. We have resolved the root cause of the problem and there should be no further disruptions.

How old are Real Programmers

BillDowns

SOC-13
Cymew posited something over in the languages topic, so here's a new topic on it.

What programming languages did you study in school and when?

Me:
IBM BALR, DEC Basic, Cobol, Pascal, LISP, C, Fortran, Snobol, APL, AN/UYK-7 Assembler (Navy), CMS2Y (Navy) from years 73 to 83 (4 years of Navy inbetween)
 
I was formally taught Fortran 77 at university in 1992ish.

I kept using it over my PhD and learned snippets of Fortran 90 (so now I know this unholy mishmash of the two), that'd be from 95 til now. But that's mostly from a text book and practice.

Otherwise I've looked at C++, Java, and Visual Basic 5, enough to know the things that most languages have in common but not enough to actually program in them at all.
 
I am almost 27 now, and have been working as a software engineer in the video game industry since I was 21, and worked as an independent consultant for 2 years before that. I didn't go to college; I'm completely self taught. Despite that, I'm a senior engineer on my team, and have held several lead roles including managing other engineers. However, when people ask me, I highly recommend they go to college and get a BS in Comp Sci or similiar. Although, most of the engineers I know have degrees in anything BUT comp sci.

The languages I have learned over the years, in no particular order:

C/C++, Objective C, Java, Pascal, HyperCard, Python, Perl, LUA, AppleScript, Applesoft Basic (my first language), assembly (x86, PowerPC, 68k, and MIPS). I've also written my own language (including compiler and bytecode interpreter) for my MUD, AvPmud.com

I use C++ in 99.9% of my work. I only use assembly for debugging purposes; I can write C that produces optimal assembly.

EDIT: Added Objective C and Applesoft Basic above
 
I'm age 36.

* in the early 80's, I had a Timex/Sinclair TX90. (Mom and Dad were uncommonly aware of the power computer literacy would provide one in making a living). Learned Timex' 'Assembler' and BASIC, then
* Pascal, BASIC and Logo on the Commodore PET and Apple II, then
* HyperCard on the Mac 128k, then
* C, more Pascal, Hypercard and AppleScript on the Mac II, then
* PostScript (yes I code PostScript) and graphic production apps (PhotoShop, Illustrator, PageMaker, Quark, etc. thru the early 90's, then
* HTML, JavaScript and Lingo (Director) in the late 90's, then
* CSS, HTML, Java, C, perl, php and shell scripting from the early 00's till today (I'm considering putting in some time learning Ruby on Rails, and the 'Swiss Army Knife' of modern programming, "Regular Expressions".). Also really loving ActionScript (the Flash remoting programming language).

 
I'm 33. Degree in Computer Science in 1995, but I cut my teeth on the Apple II in the early 1980s - BASIC, 6502 ASM; later: Turbo Pascal on the PC.

In school (University of Calgary) we were taught Miranda (a functional language) and C in the first year, and we used C/C++ for all assignments (except the funky language theory courses, of course). The class a year before us started with assembly, then Pascal, and then were expected to pick up C on their own. The class after us did everything in Java.

Out of school, my formal development roles involved Java then C++, but always mixed with a wide array of utility languages for side things - Makefiles, DOS BAT, Perl, C#, etc.

IMHO, programmers should learn an assembly language (e.g. 68k ASM), an interpreted language (BASIC, JavaScript), a bytecode compiled language (Java, C#/VB.NET), and a native compiled language (C/C++) before they start taking themselves seriously. It's incredibly rare to need to program in assembly, but you should be able to envision the whole execution process for any code you write.

Trying a functional language - LISP, ML, Scheme, etc. will serve you well. For example, the XSLT language - a way of tranforming XML - is much more akin to functional programming than procedural programming.

Also: I didn't do any formal DB theory courses, which I now regret. So learning SQL will probably serve everybody well.

Try not to let the languages you know turn into the hammer that only lets you see nails. Take the problem you're trying to solve and use the right tools for the job, even if it involves going out and learning new skills. I hadn't done any serious ASP.NET programming before I put my map site together, but I knew it was the right architecture to I buckled down and learned that framework. If I'd stuck with what I knew well (client apps) I'd have made something that required users to install an app, which would have dramatically cut down on the usage. Also, less than 5% of the work was in the new territory; most of the code you write will look almost the same regardless of what language you use.
 
Originally posted by Joshua Bell:
It's incredibly rare to need to program in assembly, but you should be able to envision the whole execution process for any code you write.
It's also a great skill for debugging; even if you never WRITE anything in assembly, when code is compiled with optimizations, bugs can come to the surface that were benign in the unoptimized build. When code is compiled with optimizations, it no longer corresponds 1:1 with the source in debugging. In this case, being able to debug in a source/assembly mix helps a lot. Sometimes, as well, code is just too complex to run efficiently without optimizations, and it is either unbearably slow, or slow enough that race condition/timing issues disappear vs the optimized build, so you HAVE to debug in the optimized build. (Don't anyone dare criticize me about inefficient code, or I'll kick you in the groin; in the type of work I do, a lot of code is performance sensitive).

I've also tracked down a few compiler bugs, and even once a bug in MacOS X through assembly level debugging (re OS X: one of the unaligned exception handlers for a double read instruction was unimplemented; instead of carrying out the misaligned double read in software it did nothing at all, leaving the destination register unchanged).
 
Ahh, XSLT. I've become pretty savvy with XSLT and LOVE IT. You can do some amazing stuff with namespaces and translations!
 
I neglected to add my age - on purpose.
I'm old enough to be a father to most of you.

I also forgot to add PL/1 to the list.

On my own, I've done Prolog, Delphi (Back in 95), Algol, Modula, and far too many one-off specialty things no one would care about unless you were in health care and want to pay my $200/hr. I'm already booked for the next 6 months.
 
I taught myself BASIC on the TRS-80 model I, from instructional manuals, in the late 1970's.

I've taken coursework in college on VaxBASIC, in summer of 1988.

I've studied C/C++ from texts, starting in 1992. I've studied Python and Javascript both starting in 1994, from online sources.

I did some coding in 1984-85 in both fortran and pascal.
 
Commodore (Middle School), Apple (High School), and IBM BASIC (College - I could have taught the class by the time I took it, and the teacher didn't like that one bit), COBOL (College - was boring), and C++ (College - which I had to drop). Found out I HATED programming.
 
Age: 38, started programming at age 16, started earning money with it at age 19.

Languages: Commodore Basic (School)
Turbo Pascal (School)
6502 Assembler (privat, C64)
C (privat, later in the Job)
C++ (Job,including MFC)
Fortran 77 (Job, used on a M70)
Siemens R/M Series Assembler (Job)
Modula-2 (University)
68000 Assembler (privat, Atari ST)
Visual Basic (Job, all since V3)
JAVA (Job, all since 1.1.6)
PL/SQL (Job)
Transact-SQL (Job)
IBM-Assembler (University)
PHP (Job)
Phyton (Privat, Nokia 770)
TCL/TK (University)
Shell-Skripting

And yes, I spend far to much time with computers.
 
My turn.

Age - 36

Started with a TI 99/4A back in the day, but didn't have too much programming for that.
Later, I had a Commodore 64 and learned BASIC on that and the school Apple II.

More BASIC in College, then did nothing in programming for several years.

Got into IT in the mid-90's and picked up Visual Basic.

A few years later, I started using VBScript as a lightweight alternative.

Some C++

Currently using C#, Visual Basic.Net (rarely), ASP.Net and a smattering of other things as I need them (trying to get more into XSL/XSLT myself, actually).
 
Started at age 12 with a new Commodore PET 2001. (Commodore BASIC)

AppleBASIC in '80

Microsoft BASIC and Pascal in '83 (UCSD Pascal on dual floppy 8088s... yuck!!!). Some dabbling in FORTRAN.

HP BASIC (HP 3000) in '84.

~wanders away from the coding side of the compiler (desktop pubs, etc.)~

Borland Turbo Pascal 4.0, Turbo C, UNIX C, and IBM 370 Assembly; '91-'92

VisualBasic in '93 (and every version since).

Delphi in '95 and VC++ in '96.

Transact-SQL in '97

PowerBuilder in '99.

Javascript in 2000.

C# in '06...
 
Ok, My 4 bits...

High school --- 1978 What5 fortran, Punched card, batched at the university over night.
1979 --- Applesoft basic, and a little assembly on an apple II +. Also a little Northstar? Basic, a little time on a TSR 80, and studied z80 Assembly.

Short siminars on Pascal, (HP 3000, don't recall the flavor any more.)

Apple PAscal and P-code, looked at Cobal, lisp.

1983 Wrote my first paying gig. A basic wrord processor, in z80 assembly, The funky 4 processor s100 box.

Also started Database programing in Dbase II/ III.

!986 Wrote several custom apps for an engineering shop. Job tracking, inventory control for repair parts, maintence schedulling, and failure rates.

First in Dbase, later in Paradox application language + support for a stand alone bar code scanner in MS C. (I want to say 4.0, but hard to recall.)

Since learned some C++, tinkered with HTML, Clarion, Access, oh, and mixed in for good measure, a little autolisp, and straight lisp, forth, logo...

I write utilities, and the odd small app, but not really keeping up any more.

Lots of traveler projects I want to do, but I never get motivated enough to do more than to outline ideas.
 
started in the 80's

off the top of my head when not feeling good:
</font>
  • various Basics</font>
  • Logo</font>
  • Turbo Pascal</font>
  • C/C++</font>
  • Lisp, Ada, Vax Assembly, Fortran (Vax and IIRC PC), Cobol, and some I'm likely forgetting (pretty sure I learned another language like Lisp)</font>
  • a bit in Perl and Java, need to refresh my knowledge of this</font>
  • HTML/CSS/Javascript</font>
  • learning or planning on Python & PHP</font>
platforms: TI994/a (cassette tapes!), TRS-80/CoCo (static == X.X ), Apple IIe/c/gs, various PC and Macs, Vax, Sun Sparc, Linux

- up nursing my sinuses
 
I taught myself QuickBasic in 1993 and took a Turbo Pascal course in 1994-1995. Both languages are now dead.
 
Now my turn. Started in High School with Commodore BASIC (PET and CBM 8032), summer job using DEC BASIC and RatFor ("Rational Fortran") on a standalone PDP-11, then Pascal and Macro-11 at good ol' University of Calgary. Next VAX COBOL, followed by a job on PICK operating system: ALL (Pro-IV variant) 4GL and Data/BASIC. Then Cognos Powerhouse (4GL) and a bit of IBM COBOL. Loads more VAX COBOL and VAX DCL (and a bit of Oracle), then onto VB6. Currently moving into VB.NET and C#.NET. I'm also fairly proficient in SQL (have just spent last 6 months doing nothing but DTS scripts on MS SQL Server 2000). Plus I've dabbled with loads of other languages over the years

My tip for the day is to remember that "no program is complete until its obsolete". That means that maintainability is generally more important than raw efficency. Its also means that sometimes your choice of development tool is dictated by what skills other team mates have (its no good writing an app in C# if everyone else around you only knows VB6 and this years training budget has already been spent).

And don't neglect skills outside your immediate area of focus. Learn about databases (not just SQL, but how to restructure something into 3rd normal form, and performance tuning). Learn configuration management (even if you're just coding for yourself its good discipline). If you're working with an object-based language learn some UML. If you're working with a traditional 3GL (like COBOL) learn JSP.

Finally: cosmetics count. Don't underestimate the affect a UI has on user acceptance ... I've seen users try everything to avoid using an otherwise good program just because of issues in the UI. And internally, well layed out code is easier to maintain.

Regards PLST
 
I'm almost 37, and I've been using computers for about 25 years.

I was first taught CESIL (which I doubt any of you have ever heard of), in about '82. Soon after, we switched to BASIC, and then Pascal. There might've been a bit of 6502 assembly in there too.

Off to the University of York (not to be confused with York University, which is of course in Canada) in '87, for more Pascal, plus SQL and 68k assembly, and I taught myself C.

At work I used a bit of SQL and C, plus I had to teach myself FORTRAN.

I had to take medical retirement in '96, and haven't really done much coding since then.
 
Andrew: some nutter has written "Visual CESIL"....
http://www.obelisk.demon.co.uk/cesil/

Me, I forgot to mention:
age 36

I have done some machine and assembly as well.
Basic concept work on machine code using the Computer Programming Tutor Text. Applied work on Odyssey II Computer Programing cartridge.

Basic Flavors:
OBasic, MBasic, and SBasic for the Kaypro II (CPM)
TRS80 Basic for the Model I
Applesoft Basic for the Apple II+, IIe, and IIgs (there are differences!)
Integer Basic for Apple II+
Colecosoft Basic for the Adam (very close to applesoft for the IIe)
VAX BASIC
QBASIC for MSDOS
Visual Mac Standard Basic (for Mac OS 8)
Self-Compiled Basic for (Mac OS 8)
TNT Basic (for Mac)
HotPaw Basic for Palm
Chipmunk Basic for Mac/Win.

Of these flavors, favorites are Applesoft, Chipmunk, QBASIC, and TNTBasic.
 
Back
Top