How did you learn to program? (C++, Mathematica, etc)?

In summary: Pascal.In summary, Pascal is a first language that is easy to learn for those with some programming experience. C++ and Java are more difficult to learn, but are more powerful languages.
  • #1
Lagraaaange
82
0
Did you guys self study or take a class?
 
Technology news on Phys.org
  • #2
Combination of classes, self study, and professional activity.
 
  • #3
It was self study initially. My first exposure to any kind of programming was applescript on classic MacOS, which I followed with learning C from a book.
 
  • #4
My professors threw a Mathematica notebook at me, and told me to come back in the morning and tell them what it did and where the error was. And forgot to tell me about the documentation.
 
  • Like
Likes Cash Fulton and TESL@
  • #5
Pascal: class.

Fortran: self-study.

C: self-study.

G (Labview): self-study.

Matlab: self-study.
 
  • #6
C and MATLAB in classes
 
  • #7
C, various assembly, HDL, MATLAB in classes and through personal projects. I learned Python through self-study.

It gets easier after learning your first language.
 
  • Like
Likes fred20
  • #8
Pascal at high school, C++ at University.
 
  • #9
Oh I wasn't really counting assembly, but we did some of that in our microprocessors and microcontrollers module as well
 
  • #10
Lagraaaange said:
Did you guys self study or take a class?
I self studied some Pascal coding but I stopped, hence now I'm confined to the basis of it (using variables, doing simple calculations and giving variables an user given value)
 
  • #11
Fortran, C++ and Java: Class

Matlab: School of hard knocks
 
  • Love
  • Like
Likes harborsparrow and Dishsoap
  • #12
I learned both C++ and Python through the books and undergraduate research project. I do not think the class is necessary for learning the programming languages.
 
  • #13
please refer a literature that is easy and knowledgeable for learning c++
 
  • Wow
Likes harborsparrow
  • #14
https://www.physicsforums.com/threads/good-book-on-c.762626/#post-4802944

For more discussion of C++ books, do a search in the textbooks forum for "Stroustrup." Most threads about C++ books mention Stroustrup along with other books.

As for how I learned to program:

Fortran - one lecture class and one seminar-type class as an undergraduate more than 40 years ago, then 15 years experience in graduate school (experimental particle physics) and teaching.

Assembly languages for Digital Equipment PDP-5 and IBM 1620 "minicomputers" - self-taught from books and documentation, also as an undergraduate.

Pascal - self-taught from books about 30 years ago, so I could teach a couple of courses that used it.

C++ - self-taught from books about 20 years ago, so I could convert the Pascal courses to C++.

Perl - self-taught from books and the web, also beginning about 20 years ago, for Unix system-administration tasks and a collection of programs for moderating a Usenet newsgroup.

HTML - self-taught from books and the web about 20 years ago, later some CSS and recently a bit of PHP.

SQL - self-taught from books and the web, about 10 years ago, so I could migrate my music-collection database from a proprietary classic Mac OS database to MySQL before my classic Mac died.

The first language is always the hardest, because you're both learning how to program (how to translate a real-world problem into a solution in program code), and the details of a particular language. If you learn how to program well in that first language, the following languages are much easier because you can focus on the details of the languages (syntax etc.).
 
Last edited:
  • Like
Likes harborsparrow and KonaGorrila
  • #15
It was genetic for me! I just knew how to write programs starting with BASIC then FORTRAN and calculator programming... This was before there were formal classes for kids. We learned in Explorer Scouts at GE but I was taught some by my uncle when I was a wee lad.
 
  • Like
Likes harborsparrow
  • #16
I took a class on C++. This was my introduction to the world of programming.
My university also offered Mathematica workshops which had homework assignments making up part of your grade in a couple of upper division Analytical Mechanics classes.
I started learning Verilog HDL on my own, though this is because learning how to work an FGPA was a research assistant project for a Physics lab. It was the first time I actually used a library for Physics. Checked out a couple of books, used a lot of online resources, including StackExchange.
I also started learning Python on Codecademy... probably about 50% of the way through.

Other than these formal programming languages, I've had some "informal" experience playing around with game development programs like Game Maker, RPG Maker, and designing maps for Source Engine games (Left 4 Dead, Alien Swarm) :woot:.
 
  • Like
Likes harborsparrow
  • #17
Books and 20 years of tinkering around. I'm still not very good :biggrin:
 
  • Wow
Likes harborsparrow
  • #18
IMO, if you're just starting out with programming, it's better to take a class. That way you will have someone looking at your work who can provide more valuable feedback than you can if you're self-studying. After you become competent with your first language you can pick up other languages on your own.

Here is some info about my experience.

PL/C, Fortran, Modula-2, C - class
Pascal, C++, Java, C#, JavaScript, x86 assembly, 68000 assembly, HTML, CSS - self-study

Edit: Oh, and Basic in several flavors.
 
Last edited:
  • Like
Likes harborsparrow
  • #19
I started with BASIC, a long, long time ago. There were no computer science classes where and when I went in high school, there were no teachers who knew how to program. I taught myself.

I also taught myself some bad habits. I unlearned those with my first class in PL/C. (I further unlearned those bad habits by being an undergraduate TA for the intro computer class.) I learned MIXAL (Knuth's MIX assembly language) as a small part of another comp sci class. (The next step was to write a MIXAL emulator in PL/C. The last step was to use the emulator to write a compiler of a subset of PL/C in MIXAL.)

Since then, most of languages I've learned I have learned on my own, sometimes with a rare short seminar. That includes Fortran, Pascal, IBM360 assembly, 8086 assembly, APL, lisp, prolog, ART/CLIPS, C, smalltalk, HyperCard, Ada, Java, perl, awk, shell (many forms), matlab, Tcl/Tk, C++, mathematica, python, ruby, and a bunch of other languages/tools/libraries, many of which no longer exist. The only ones that involved short classes or seminars were Pascal, ART, and Ada.
 
Last edited:
  • #20
Lagraaaange said:
Did you guys self study or take a class?

I got a degree at a fancy university, but 95% of what I know I learned myself. The programming instruction didn't amount to much.

The language is important, but what really matters in big programs is planning and organization. They don't teach you that.
 
  • #21
Both. Have a degree too, but most of what I learned was self taught.
 
  • #22
Dabbled around in visual basic as a teen and got introduced to the concepts, then I learned C, MATLAB and some assembly (mostly understanding how it works and edit it, not actually writing code from scratch) in university.
 
  • #23
artfullounger said:
Oh I wasn't really counting assembly, but we did some of that in our microprocessors and microcontrollers module as well
We've done a bunch of assembly...MIPS32, TI, intel x86, MIPS64. Programming an MSP430 with assembly is so much fun...
 
  • #24
snowman_ said:
We've done a bunch of assembly...MIPS32, TI, intel x86, MIPS64. Programming an MSP430 with assembly is so much fun...

We used I think some 16 pin PIC microcontrollers...I don't actually know what language it was using :x I failed that module anyway xD I was not a fan :P
 
  • #25
Except for a course in assembly on a very primitive computer (in 1964 all computers were primitive, a sophisticated computer had much less processing power and memory than a simple mobile phone has today), my first computer language was ALGOL60. Fast forward to 1973 - assembly programming on an Intel 8008. I stuck to assembly for several years before starting to use C.
 
  • #26
C,Fortran: at class but in fact it was a self study (I never attended the course- I got some help from a friend who was studying programming in univ and then everything I did by myself in order to successfully pass the course exam)
C++: self-studying + work
Java,Python: took and take online courses
 
  • #27
I dabbled around with visual basic 5/6 in my early teens.
My first real experience was in college when I learned C (mostly self-study).

Now I'm trying to get a deeper grasp using the "learn code the hard way" website.
In fact I'm using their course to get familiar with git as well.

Might take the python course as well from there. I like the concept (make it, break it, learn it)
 

1. How did you become interested in programming?

I have always been interested in technology and solving problems, and programming seemed like a natural intersection of those interests. I first started learning programming in high school, and continued to develop my skills through college and beyond.

2. What languages do you know and how did you learn them?

I am proficient in several languages including C++, Mathematica, and Python. I learned these languages through a combination of self-study and formal education. I also continue to learn new languages and technologies throughout my career.

3. How long did it take you to learn a programming language?

Learning a programming language is an ongoing process, as there is always more to learn and new updates to keep up with. However, it typically takes several months of dedicated study and practice to become proficient in a new language.

4. What resources did you use to learn programming?

I used a variety of resources to learn programming, including online tutorials, textbooks, and hands-on practice. I also attended workshops, seminars, and coding bootcamps to further develop my skills.

5. How do you continue to improve your programming skills?

I believe that continued learning is crucial in the constantly evolving field of programming. I regularly attend workshops, conferences, and online courses to learn new techniques and stay updated on the latest technologies. I also work on personal projects and seek out challenging coding problems to sharpen my skills.

Similar threads

  • Programming and Computer Science
Replies
6
Views
2K
  • Programming and Computer Science
Replies
8
Views
863
  • Programming and Computer Science
Replies
33
Views
2K
  • Programming and Computer Science
Replies
1
Views
718
  • Programming and Computer Science
Replies
15
Views
1K
  • Programming and Computer Science
Replies
16
Views
1K
  • Programming and Computer Science
2
Replies
54
Views
3K
  • Programming and Computer Science
Replies
4
Views
979
  • Programming and Computer Science
2
Replies
69
Views
4K
  • Programming and Computer Science
Replies
17
Views
1K
Back
Top