What was your first programming language?

ChrisTenone:
I never considered that I had 'learned' the language, rather I learned how to mimic the patterns others used.

Likewise - for all programming languages. :slight_smile:

...R

Fortran

Robin2:
Likewise - for all programming languages. :slight_smile:

...R

For all languages, and quite possible for all 'intelligent' activity. Fortunately we are imperfect mimics, so we do continue to evolve, in a way.

Back to computer languages, I don't recognize some of my early languages. Basic now-a-days looks completely foreign. Where are all the line numbers!! And Forth! Oh, don't for a minute think it's gone. Buried perhaps, but not gone. Take a look at PostScript code, or the 'Macintosh "bootloader"'. There is even a Forth interpreter that runs as an app on my phone: it's a threaded interpretive language called 'Retro'. It runs in a weird, split window, and don't get the purpose, but it's cool. That is the most recent language I've 'tried' to learn.

westfw:
BASIC for me.

While the Arduino environment is based on C/C++, the Arduino Community is very much about "doing things" without really learning the language. If you have prior programming experience, and want to learn C, you might be better off looking for traditional tutorials and books, rather than Arduino stuff. And if you have a lot of experience with assemblers, it probably is better to learn C before trying C++; C is almost a "high level assembler" (although, for the PDP11 :slight_smile: ), but I suspect modern C++ teaching will throw you into a higher-level view of things (that will be LESS portable to an embedded environment.)

I think i agree with that.
I have been trying to learn C for a couple of years now but when it comes to arduino i find it best to just dive in and get something working by copying or adapting others examples.
Fortunately there seem to be many examples out there similar enough for my needs.

I'm now a believer!

I resemble that remark. Tried learning C off and on for years. Like Chris, it seemed too complex for me. Happily programmed in various Assembly languages, Basics, Labview. Had no real reason to learn C until I bought an Uno to replace an old 8051 board. Now wish I had learned C years ago.

C always gives me the impression that it was deliberately designed so it would not be easy to learn only be accessible to experts.

The basics of it are no more difficult than any other language. But trying to make sense of a program that has been created from 10 or 20 .h and .cpp files and without any obvious way to know which functions are where is a nightmare. "Write-only" code :slight_smile:

Ruby programs can also have a large number of source-code files but somehow I have always found it much easier to work my way through them.

...R

C always gives me the impression that it was deliberately designed so it would not be easy to learn only be accessible to experts

C is just a development of the Algol-60 family of languages.
If you've been exposed to any language like Algol, PL/1 (and cut-down versions like PL/M), Pascal or BCPL, C is easy to learn.

APL has to be the ultimate write-only "language" (I think most people who have encountered it would call it "a notation" rather than "a language")

AWOL:
If you've been exposed to any language like Algol, PL/1 (and cut-down versions like PL/M), Pascal or BCPL,

I escaped those :slight_smile:

...R

AWOL:
C is just a development of the Algol-60 family of languages.

ARRGH i forgot about that one.

AWOL:
If you've been exposed to any language like Algol, PL/1 (and cut-down versions like PL/M), Pascal or BCPL, C is easy to learn.

Pascal i was taught , C i find difficult for some reason.

Robin2:
But trying to make sense of a program that has been created from 10 or 20 .h and .cpp files and without any obvious way to know which functions are where is a nightmare. "Write-only" code :slight_smile:

...R

Pascal functions and procedures are much easier to read through .To me anyway.

I've enjoyed reading the last few post. I've been wanting to talk about the difficulty of learning C/C++. I thought it was just me, but now I know I'm not alone. Glad to know my mind hasn't slow down that much. It seams to me that the Arduino language is now a derivative of C or C++. But not knowing C/C++ that well I feel I'm not in a position to make that assumption. Yes I can make my Arduino do what I want. A lot of reading other user programs and modifying them. But after a comment about using using brackets I decided it was time to learn C/C++. Think I'll go back to what I was doing. Maybe I'll get a book on Arduino programing instead.

Hi,
I learn't
HP Basic
Fortran
Cobol (a little as a computing exercise for Engineering Computations subject)
Pascal
QBasic
C++
Machine Code (Z80)

PLC
Machine Code (German Cellatronics)
Ladder Logic
State Diagram
Function Block
Structured Text
(Seimens, Visilogic(Unitronics), Mitsubishi, RXlogix, CodeSys)

And I'm not an expert at any of them.

Tom... :slight_smile:

TomGeorge nice to meet with some who knows what PLC programming is. Makes me wonder ho many others on this forum is familiar with PLC programming.

TomGeorge- jack-of-all-trades and master of none :stuck_out_tongue:

Hi,

Isaac96:
TomGeorge- jack-of-all-trades and master of none :stuck_out_tongue:

Aren't we all? ? ? ?

TomGeorge:
Hi,Aren't we all? ? ? ?

Describes me to a 't'.

TomGeorge:
And I'm not an expert at any of them.

The reality is that all the languages are trying to implement much the same concept because the underlying machine is the same.

Once you have a reasonable grasp of the concept the language is just the colour paint you decide to use.

This is very obvious when you see some newbies struggle to understand the concept of how a computer does things.

...R
(And, yes, some colours are more pleasing to the mind than others).

And some are colorblind.

ChrisTenone:
And some are colorblind.

Never thought of that - now I understand how C has survived :slight_smile:

...R

I started with basic on the Sinclair Spectrum, bought from one of my first wage packets (and not leaving much cash for the rest of the month). After getting to know the workings I played around with hand-crafted Z80 machine code - no assembler to do the work, just another basic program used to input and store each byte. What I can't understand now is why I never wrote an assembler ?!?

Strangely, bits of Z80 assembly code are stuck in my mind, does this mean anything to anyone:

LD A,B
OR C
JNZ somewhere

I did manage to write a sound sampler for the Spectrum, but to my dismay, the results were somewhat inferior to CD quality :slight_smile:

Robin2:
Never thought of that - now I understand how C has survived :slight_smile:

...R

Heh. Don't even get me started on resistor codes. Student says to me "It's got four bands: light brown, dark brown, brown brown, and sparkly brown." I say, "That last one they call gold. Just use a meter (that's what I do.)"