WHen did you learn what language or what CS field.

In summary: I was trying to find a job, and my dad happened to see a job posting for a web developer. I applied, and got the job. I was actually pretty excited to start working on the web. I had no idea what I was doing, though. I used to go to the library and read books about HTML and CGI programming. I was still using cgi.pl to generate my web pages.MySQL, around 1998. I was working on a project where I needed to connect to a MySQL database. I found a tutorial online, and followed it. I was actually able to make the connection, and start editing the database. I was really impressed with my skills at that point.
  • #1
neurocomp2003
1,366
3
Because of all the posts that ask what language to learn first...I was curious in what order did people learn their languages first and if you would like to include also a list of CS fields that you have gotten to know if you would like for example AI, Compgeom,compGfx,numericals,gui etc.

Also include which language you prefer these days and what you use it for would be great.

for me:
=> pascal[gr9-11]
=> C [gr13-yr1,took me forever to learn pointers because i didn't have a good
grasp of memory or computer architecture]
=> maple[yr1-2]
=> matlab[yr1-yr4 ...used for a lot of my projects including my RAship]
=> C++[between yr5-Msc yr1]
=> mpi,openmp,charm++[MSc yr1, still in progress for HPC]
=> makefiles[MSc yr1, still in progress ]
=> python [MSc yr1, still in progress ]
=> java [MSc yr1, still in progress,i'm getting very frustrated with java file layouts]

My preference is to C/C++ OO/functional hybrid for HPC using mpi or charm++.
Current use HPC rendering and N-body stuff.
 
Technology news on Phys.org
  • #2
>>Sophomore year; C
C is my first language and because of this its my favorite. I actually did most of this stuff in high school (self study), but relearning it was fun. I use C because I write programs that interact with external hardware that I design. The program would generally have the following functions- data acquisition, data analysis, data presentation, and cater to whatever user interaction is necessary.
C is great for me because it is close to the hardware, good I/O capabilities, fast execution time and uses little memory space.

Sophomore year; Advanced C++
I dislike C++. I never really use it for any tasks that I use C for. Then again, I haven't really ever needed its objected oriented approach. Currently I'm purely a structured programmer.

Junior year; Assembly
Needed this to understand other courses in computer architecture. I haven't done any major applications with this as yet. However, one of the courses next semester will focus on device drivers.

Junior year; Verilog
I was actually given the choice of VHDL or Verilog. I chose verilog because being a C programmer by nature, its syntax was most friendly and easier to understand. VHDL's syntax is based on Ada; it looks horrid :yuck:

Python
Currently self studying this. I need to compliment my knowledge of a heavy duty language (C). Haven't had much use for this yet.

Java
I self studied this last year. It has horrible syntax, its bulky, horrible execution time and really big executable binaries. I'd rather use C++.

If you count linux bash scripting as a language, then I also know that. Need it for automating systems tasks.

Overall, I lean towards C, simply because of the nature of my studies and its requirements.
 
Last edited:
  • #3
Well, unfortunately, my programming "career" spans almost two decades. Many of the incredible languages available today simply didn't exist back then.

Here's my list:

  • HyperTalk, around 1985. I was only seven years old, but I had a book. The language itself was so simple that an average child could literally understand large parts of it. It consists of statements like this:

    Code:
    get number from field two
    put it into myVariable
  • C, around 1990. I learned entirely from code snippets in books like Inside Macintosh. The Internet didn't really exist then, though I did have a 1200 baud modem I used to connect to some developer-centric bulletin-board systems. Because of my limited resources, I had only a couple of books. In contrast, most professionals at the time had a library of books easily worth a few thousand dollars. As a result, my code was extremely bad! I'm talking pages upon pages of global variables, and single functions fifty pages long. I did figure out insertion and selection sorts on my own, out of necessity. I guess that was rather good for a 12 year-old with one book.
  • C++, around 1992. I understood the syntax, and was comfortable mimicing the style of other people. I didn't really understand the design principles or the point of OO programming for several years. I think I first looked over Design Patterns by the Gang of Four sometime in 1994.
  • Java, around 1995. I actually learned Java because I was hired by a tiny no-name "company" to teach the language to other students at my high school. It was a pretty bone-headed idea, but gave me the impetus to learn Java, and gave me an excuse to hang out with my friends and program all afternoon. At this point (age 16 or so) I was able to write reasonably sophisticated AIs (and GUIs) to play games like checkers and chess. The internet was in full force, and I was able to learn a great deal from it. I used to be one of Java's biggest cheerleaders, until I basically stumbled across better languages.
  • Perl, around 1996 (I think). I was in my last year of high school, and bought the camel book on a whim at a bookstore near my house. I quickly decided it was the best language that had ever been written, but realized I was very wrong a few years later. My favorite Perl anecdote was a class in my junior year that just briefly touched on Perl for a few weeks. We were required to write a Perl program that would read in standard input, count the number of times each unique line of input occured, and then print out the top ten most frequently occurring lines, in order of occurrence.

    Most students had programs pages and pages long that didn't even work properly. I turned in this:

    Code:
    while (<>) { $hash{$_}++; }
    @sorted = sort { $hash{$b} <=> $hash{$a} } keys %hash;
    
    for ($i = 0; $i < 10; $i++) {
    	print "$sorted[$i]\n";
    }

    I got the assignment back with a question mark on it, because the grader had no idea how it worked. :rofl:
  • Python, around 2005. This language has totally captivated me. I have virtually no interest in doing work in most other languages at this point -- they're just too cumbersome. I'm not exactly an "expert" Python programmer at this point, but I'd say I'm at the 90% mark, meaning I'm comfortable with 90% of the language's features and standard library.
  • I began studying MATLAB and Mathematica around 2001. I don't consider these general-purpose programming languages, and they're comparatively simple. As a result, I don't think they really 'count.'
  • Shell scripting was pretty much automatic. I don't even bother keeping that crap in my head, since 'man bash' is almost all you'll ever need anyway. Same with Tcl.
  • I don't consider Makefiles to be a programming language, either. 'info make' is all you need for 95% of builds.

- Warren
 
Last edited:
  • #4
isn't makefiles a subset of shell scripting? Wow 7 yrs old...i got to ask do your parents/guardians/siblings code too or are related to the field or academia. But thenagain that is for another thread.
 
  • #5
Well, I'll answer that one briefly, neurocomp. My Dad essentially got suckered into buying a Fat Mac (the original Macintosh, but with more RAM) back in 1984 or 1985 for his pharmacy. It turned out that the Macintosh was useless for his business, but he noticed that I was very excited about it... so he gave it to me. It may well be one of the most influential blunders of his life. I spent a few years playing with MacPaint and playing silly games. At some point I was playing some HyperCard-based game, and accidentally double-clicked on something and saw some of the underlying code. I didn't understand it immediately, but I was captivated. Around the same time, I stumbled across an advertisement for the Charlotte (NC) Apple Computer Club, and started attending their meetings. It turns out they had a Programming special-interest group, and I began attending those in earnest. I would thank specific people by name, but won't for privacy reasons. Suffice to say that a few people there put me on the right track, told me the right books to buy, and off I went.

- Warren
 
  • #6
Just one quick question: What do you think about the reduce() in python? Should it really be removed?
 
  • #7
Another off-topic question. I don't think the reduce() function should be completely eliminated, but I think it should certainly be taken out of the default namespace and put into a module instead.

- Warren
 
  • #8
Ok, I've moved my stuff here:

QuickComp - pseudo machine language on a drum memory based computer (1968)
Fortran IV - on IBM 1130 and IBM 360 (1969->1972)
Assembler - on CDC 3150, IBM 1130, IBM 360 (1970)
Cobol - on CDC 3150 (1970)
Wang 720 - programmable calculator (1971)
Assembly - HP 2100 (later 1000 series) (1973->1975)
APL - IBM 370 (1975->1976)
Assembly - Computer Automation Mini (1975)
Assembly - Data General Nova 1100 (1976)
Assembly - GTE/IS 2901 based micro (1977-1979)
Assembly - Z8 (1979)
Assembly - PDP-11 (1979)
Assembly - Z80, 8085 (CPM), 8088 (CPM-86, PC-DOS), Motorolla 68000 (1980->1987)
Assembly - 80x86 (PC apps, Xenix) 1987
C - Motorola 68000 (Atari ST) (1987->1993) (MAC - 1989)
C - Windows (1990->present)
Assembly - ARM processors (1999->present)
C - ARM processors (1999-> present)

Some trivia - classic names for binary operations:

Selective Set == inclusive or
Selective Complement == exclusive or
Selective Clear == and with inverted mask
 
Last edited:
  • #9
I started with Flash (Actionscript/ECMAScript) when i was a Biology major, and then eventually moved to CS.

  • Flash Actionscript/ECMAScript
    Did some games, chat apps and other multiuser applications
  • ASP (vbscript)
    Old ASP with vbscript, glad i don't have to use it anymore
  • JAVA
    First language i learned at school and one of my favorites, simple yet powerful. Have done some server apps, an audio mixer, a peer2peer app. It's the language i go to for experimenting new concepts and ideas.
  • C
    Had to learn by myself for school, since i was allowed to skip the C++ class (for no good reason). So i came into my Operating Systems, Compilers and Networking classes knowing nearly no C and having to write OS system calls, compilers and a multithreaded web server in C.
    I do like C a lot though.
  • Assembly - 8086 - My compilers teacher had a first week assignment of doing a recursive quicksort in 8086 assembly when no one knew the language.
    It was very educational.
  • Javascript/AJAX
    Because sometimes Flash/Java isn't necessary and Javascript is more widely available.
  • VB.NET/J#.NET
    Moved into ASP.NET. Initially started doing ASP.NET with J# which is essentially Java.NET. I gradually started to move to VB.NET instead of J#, and it became my .NET language.
  • SQL
    Started with MySQL for a project a school and eventually moved to TSQL with the Microsoft SQL server. I use it everyday at my job. 50% of the code for server applications i do nowadays is at the database server.
  • C#.NET
    I got a job doing C# and it has become my everyday language. No complaints. C# is a better Java and VS2005 is a better Eclipse, in my opinion of course.
  • C++
    Only because i had to at my job, not a fan. I far prefer C.
  • PHP
    Since i do so much ASP.NET at my job i decided i should do PHP at home. I already knew some PHP by now, but only recentely have i started to take it seriously

C# ranks as my favorite language at the moment (maybe because i use it so much) with Java and C closely following.
 
  • Like
Likes harborsparrow

1. When did you learn a particular language?

I have been learning various programming languages throughout my academic and professional career. I started with Java in my undergraduate studies and have since learned languages such as Python, C++, and R. I am always open to learning new languages to expand my skills and knowledge.

2. How did you become proficient in a specific language?

Becoming proficient in a language takes time and practice. I have taken courses, read books, and completed projects to improve my skills in a particular language. Additionally, working on real-world projects and collaborating with other programmers has helped me refine my abilities.

3. What is your favorite programming language and why?

My favorite programming language is Python. I love its simplicity, readability, and versatility. It is also widely used in data science and machine learning, which are fields that I am very interested in.

4. When did you first become interested in computer science?

I have been interested in computers and technology since I was young, but my passion for computer science specifically developed during my undergraduate studies. I took my first programming course and was immediately drawn to the problem-solving aspect of it.

5. What is your current research focus in computer science?

Currently, my research focus is in the field of artificial intelligence and machine learning. I am particularly interested in the applications of these technologies in healthcare and how they can improve patient outcomes. I am also working on projects that utilize natural language processing and computer vision.

Similar threads

  • Programming and Computer Science
4
Replies
107
Views
5K
  • Programming and Computer Science
Replies
8
Views
832
  • Programming and Computer Science
Replies
9
Views
1K
  • STEM Career Guidance
Replies
3
Views
1K
  • Programming and Computer Science
Replies
2
Views
2K
  • Programming and Computer Science
Replies
12
Views
3K
  • STEM Career Guidance
Replies
2
Views
2K
Replies
2
Views
1K
  • STEM Academic Advising
Replies
13
Views
2K
Back
Top