View Full Version : The Programming Thread
HackerX
02-28-2008, 06:36 PM
Ok, as suggested in the OS thread, what programming languages do you know.
Which do you know well/use on a daily basis? Which have you used previously but perhaps aren't as proficient in these days? Which have you touched on, but not had the chance to expand further on.
here's my list (copied from the equivelent intpc thread):
Know well:
C
C++
Java
Progress/OpenEdge
BASIC - From C64 BASIC onwards
VB.Net
SQL (including PL/SQL, PL/pgSQL, T-SQL)
Javascript (+ Actionscript + CFScript)
BASH/KSH (we use KSH at work, which sucks for me, I'm more familiar with the BASH style)
Previous:
Coldfusion/CFScript
Assembly (x86)
Pascal
C#
VBScript
PHP
Matlab
Touched on:
Haskell
Perl
Awk
Smalltalk
Ruby
Python
There are probably plenty of others that I've missed.
Feel free to post programming related questions on here (unless you feel they warrant a new topic)
AgentofGaming
02-28-2008, 07:10 PM
I'm a second year computer engineering student so I'm learning these.
Know/Learning:
C/C++ (On 3rd semester of)
- project this year is webserver on a Solaris computer, might need help with implementing clustering / multithreading
Assembly (NIOS II by Altera) (On 1st semester of)
- we'll modify a CPU, I need help choosing a project that I can handle
Matlab (1st semester of)
- I need help with this the most, I have no idea how to implement the Electromagnetic Field formulae
Previous:
Java (1 semester)
Assembly (1 semester, can't remember the architecture)
BasicStamp (2 semesters and 4 failure robots)
Turing (1 and a 1/2 Semesters, if that counts as a language)
Verilog (Altera DE2board Cyclone FPGA) (1 semester of)
Courses:
This semester:
Communication and Design II (C++)
Computer Organization (NIOS II)
Electromagnetic Fields (Matlab)
Previous
Digital Logic (Verilog)
Programming Fundamentals (C++)
Computer Fundamentals (C++)
Computer Engineering Gr. 10-12 (Assembly, BASIC, Turing)
Computer Science Gr. 10-11 (Turing, Java)
HackerX
02-28-2008, 08:31 PM
Cool, I just graduated from my degree (Bach of IT - Software Engineering)
PRBori
02-28-2008, 11:05 PM
Know at Intermediate Level:
HTML
DHTML
JavaScript
CSS
ASP
Would like to learn more about:
ASP.net
VB.net
C#
As for now, I'm not using any of them for my job is completely different. Is more in the auditing, implementation, and management areas of IT.
blue tie
02-29-2008, 03:23 PM
Ninja:
Perl
Arsennal:
HTML
CSS
JavaScript
Learning:
Lisp
Lua
Python
Ruby
pavman
02-29-2008, 04:24 PM
LOL nice one.
Ninja/Master/Guru
Perl/POOP [Perl OOP] 8D
Javascript
HTML
ksh/bash/csh/tcsh
Learning/Hacking:
PHP
CSS/XML
Learned but long forgotten (which means I could do it if I had to, but would need lots O references and it would be slow.....):
VB
C++
Java
10 print BASIC
20 goto 10
run
SQL
Although it doesn't really matter much, once your brain clicks, the language is merely semantics.
bubbles
02-29-2008, 09:24 PM
Know
C/C++
Forgotten
Python
BASIC (I don't program my Ti-83 anymore now that calculators aren't allowed on tests as they were in high school...)
Java
I'm a first year Computer Science student. I'm pretty sure this list will be slightly longer soon, especially after this Spring Quarter and summer break. Most programming languages are similar in many ways and after you learn one, it's pretty easy to pick up another, especially if they're related (like Java and C++).
So what kinds of programming do you guys do? Anyone into research and academic stuff?
Scorne
03-01-2008, 05:48 PM
Know well:
Ruby
Visual Basic
C++
HTML
Previous:
PHP
C#
C
CSS
Touched on:
The rest, haha.
qwerty
03-01-2008, 07:55 PM
Hmmmm do you really need to *know* single languages anymore? What about paradigms? So long as you understand how to find details of a language and it's syntax in the manual or api, turing completeness, lambda calculus, some knowledge of semantics i.e. bnf, and fundamental algorithms and datastructures: quicksort, hashmaps etc, details about memory, a brief knowledge of multiple processes, alittle bit of geometry. you can pick up most things in a few weeks ;)
So I know one or two languages from each of these paradigms in enough detail to get the job done:
Object Orientated
Sequential
Functional
Logical
As for what I use these for? Currently a research assistant trying to enter a comp sci masters research degree, so programming is more a translation from more abstract proofs for me.
I find myself using lisp more now days and java/c++ for gui designs. Scripts are in python and perl. Webstuff I stick to php.
If I had time to spare I would like to spend it working out assemblers as I've spent no time with them.
denaria
03-02-2008, 12:19 AM
I agree with qwerty about not really needing to "know" an individual language: they all have to do the same basic things and it's just a case of finding out how the one you're using does what you need to do. However, of the ones I have encountered:
Know:
XML/CSS
HTML
Javascript
Basic
Lotus 1-2-3 (the best programming language I have ever used and totally defunct now, sob, sob)
Have tinkered with:
Cobol
Java
SQL
C/C++
Could get to grips with again:
Algol
Fortran
Algol was formally taught to me (in 1974.) The rest I've taught myself. Gosh I'm old...
blue tie
03-03-2008, 07:37 AM
To qwerty's point, I'm not so sure. I mean, for me, sure, I'm confident that I can pick up any language because I focus on generic concepts. But if we were to flip the situation around (double standard), I wouldn't be so sure.
To me, there are two types of Perl programmers. People who SAY they know Perl and don't, versus people who actually do. Perl is a very complex language that lend's itself easily to abuse and misuse. You can even bend Perl to act and look like other languages. There's C++ ish Perl, Java-ish Perl, functional Perl...
The point is, there will be a difference in what is produced by a real Perl programmer versus someone who knows a lot of programming theory but doesn't know Perl. Think of... A foreigner who studied English as a second language versus a native American kid that uses slang and local idioms.
I'm protective of my baby!
deepFlow
03-03-2008, 09:25 AM
I use C++ in my day job (videogame programming), and that's the one I'm most expert on. Originally I learned on BASIC and Pascal, have used Python, Perl, Lua, and JavaScript for scripting at work, played around with Java, Lisp (and Scheme), Prolog, and Ruby in my school and personal studies, and have of course designed and implemented many domain-specific languages as I've gone along in my professional life.
I don't really agree with the "not needing to know languages" idea, though. While there are obviously overarching programming concepts/paradigms that are relevant no matter what language you're using, the devil is always in the details, and any given language has its own quirks, nooks and crannies that influence the mindset you take on, and take a lot of brain energy to contend with when you're programming in it.
To be an expert in a language you have to be fundamentally and comprehensively conversant and intimate with the mechanistic and topological details of the language, in my opinion.
At my job, for example, we're constantly interviewing programmer candidates who claim expertise in C++ but prove to be sadly lacking in some of its most fundamental and mildly sophisticated mechanisms, much less showing awareness of any of the state of the art in best practices and modern techniques.
I think C++ and Perl are both good examples of languages where it's possible to convince oneself that one is a lot more "adequate" in its use than one really is in professional practice.
Caramel
03-03-2008, 09:26 AM
Core language:
Python
Know well:
Perl, SQL, Bash programming, Javascript, HTML, CSS/XML
Know but deliberatly don't use:
Java, R, Matlab
Some knowledge: (means I can use it just fine.. with the api :p)
PHP
Old knowledge: (sort of forgotten)
Basic, Pascal
Never touched:
C/C++/C#, Assembly
And then implementations of WX Widgets, TK, GTK+, and OpenGL for Graphical stuff. =)
In order of competence:
C/C++
VB(.NET)(script)(A)
SQL
PHP
cmd.exe
Java(script)
ASP
Pascal/Delphi
Assembly
...and other stuff I learned at school but forgotten after many years of never using it.
Furthermore I agree with Qwerty, knowing the concepts is more valuable then knowing a specific language. I also agree with deepFlow because the Devil really is in the details, especially when it comes to production code.
My personal experience when learning a new (procedural) language these days is that learning the syntax is relatively easy. However learning all the new API's can be a hell of job. It can take years to learn all the do's and dont's of a new API. And what about thread-safety, performance bottle-necks, localization, installable dependencies???
Oh, I noticed some of you mentioned CSS, XML and HTML. Do you guys consider these to be programming languages? What's your opinion on that?
blue tie
03-03-2008, 01:21 PM
Oh, I noticed some of you mentioned CSS, XML and HTML. Do you guys consider these to be programming languages? What's your opinion on that?
They're not "programming languages" per se, but they're languages nonetheless. Nearly every argument carries. You can snuff out someone who SAYS they know this web design junk versus someone who wields it like a finely crafted blade.
bsdaemon
03-09-2008, 01:07 PM
I think that I'm only posting so that I can see links or images. But I may as well add some content.
I second qwerty. I don't learn languages, I learn ways to program. It usually only takes a few hours to pick up a new language, and not much longer to become well versed in it.
I'll also second the notion of markup languages not being programming languages. I don't mind them being listed, so long as the caveat is mentioned. XML, HTML, CSS are markup languages, but not programming languages.
At any rate:
C [Thank you Ken and Dennis]
Perl [with growing distaste]
Python [not a favorite]
Ruby [nice, but has serious issues]
Limbo [Again, Ken and Dennis are gods]
sh
Lisp (Common Lisp, some scheme) [a favorite]
SQL [Yes, this is a programming language]
TeX/LaTeX/AMSTeX
I can function (no pun intended, really) in Erlang, Haskell, and ML, but am not well versed.
I *technically* know Java, and can code in it, but I don't like it, so I stay away from it.
And I'll throw in the markup languages, HTML, XHTML, CSS 1/2.
Know well
C
C++
Assemply (X86)
Forgotten
Pascal ( but I can still understand the code )
I usually use C++ mixed with inline assemply.
Programming experiences are mainly from own projects and some from different courses. The lower HAL, the better. Probably some languages missing. New languages are easy to get into so I don't think languages that important. Typically I do HdS so many languages are out of the question.
Know well:
C
Verilog
VHDL
Assembly (various)
Previous:
C++
C#
SystemC
Java
Pascal
Ada
Basic (various)
HTML/Javascript
Touched on:
Perl
Python
Symbian
script-languages (various)
- Lf0
TheReal
05-07-2008, 11:25 PM
Well I don't know any major programming language. but when I was 14 years old I found a program called Game Maker. And it used a drag and drop interface. I learned quickly and I began starting projects. It was a great program because I could also create sprites and sound effects for it. When I could actually write code, I started work on my Top-down 16 player online shooter. Countless hours after school went into this. This had to include switching weapons on map, ammo packs, game types such as capture the flag and assault (inspired by halo mostly). But yeah, after all the bugs were out, me and my computer science class played it at lunch, it was really fun.
Monte314
05-10-2008, 04:36 PM
I agree with denaria -- if you want to write good code, you need to understand the general principles of engineering... but it's the crazy little quirks you don't know about a language that introduce mysterious errors that can doom a project.
PcChip
05-14-2008, 05:03 PM
Which do you know well/use on a daily basis? Which have you used previously but perhaps aren't as proficient in these days? Which have you touched on, but not had the chance to expand further on.
Fluent:
C++ (Win32, DirectDraw, beginners Direct3D)
QBasic (the good ol' days, this is how I learned to program)
Partially know:
HTML
Have used (in college classes):
Asm
VHDL
Fluent Languages:
C#
VB / VB.NET
JavaScript
Fluent Markups:
ASP / ASP.NET
HTML
XML
CSS
Exposure / Experience:
C/C++
COBOL
Assembly
JCL
PHP
---
I agree with the general concept vs. language syntax argument. Knowing your core concepts and fundamentals lends itself to picking up new/alternate languages. I find that when I know what I need to do, looking up how to do it in a given language is simple.
rokxal
05-20-2008, 04:37 PM
Fluent:
C/C++
Know Well:
Java
Ruby
ocaml
javascript
worked with:
assembly
basic
kansuke
06-07-2008, 08:01 AM
It seems assembly is more than usual in this forum.
But why??
Aressera
06-07-2008, 12:07 PM
I'm currently a 3rd year computer science major, though everything I know well I've learned on my own.
Fluent:
C/C++
Java
Intermediate:
Objective-C
X/HTML
CSS
PHP
Assembly (MIPS)
BASIC
Beginner:
Lua
Javascript
SQL
Matlab
Lagawrd
06-07-2008, 01:52 PM
What languages are best to be familiar with when getting ready for a computer science major in general? I just do not want to go into class and find many topics to be advanced, and students to be fluent in languages I have never heard of.
azelismia
06-08-2008, 12:30 AM
I wrote my first Java program today. it was extraordinarily simple but still.. I actually wrote it. (and no it wasn't hello world, I actually wrote it)
ScottH
06-08-2008, 01:56 AM
In around 96, Microsoft and it's minions did a study that concluded something like the following:
When asked "what type of developer are you," programmers in general used to answer with a language of choice.
But by '96, they were answering with a "platform," such as "I'm a Windows developer."
That motivated the business decision to release the first version of Visual Studio, containing several languages.
Anyhoo... this somewhat inline with what Qwerty said--"know" is a rough one, as "have used" isn't necessarily orthogonal to "can use" anymore.
But I digress.
Guru
C++
C
ASM (multiple architectures)
C#
Good
Java (used to teach it)
Javascript
VB (3.0 - .NET)
VBScript
VBA
InstallScript (proprietary to InstallShield)
ActionScript (Flash)
Perl
Used to be
Countless Basic's
Cobol
Fortran
Pascal
Others?
These days it seems the "language wars" are pretty much over, and things are looking towards changes in development paradigms. I myself am consumed with MP: making multi-core use easy, and making GPGPU easy. The sheer might of the midrange graphics card excites me :-)
Monte314
06-08-2008, 12:57 PM
I wrote my first Java program today. it was extraordinarily simple but still.. I actually wrote it. (and no it wasn't hello world, I actually wrote it)
Congratulations! You are now entitled to put a little duct-tape on your Groucho glasses...
changos
06-08-2008, 03:18 PM
Pretty well:
- Visual Basic
- Visual Fox
- Real Basic
- Perl
- Javascript
- Actionscript
- HTML
Not an expert:
- Lingo
- Php
Marcus
06-09-2008, 08:39 AM
Fluent: C, Matlab
Learned about/some experience: C++, Pascal, Modula, Basic, Unix scripting, Prolog, ML, LISP, SQL, HTML, LaTeX
Teaching: Verilog, assembly
Jenny Penny
06-09-2008, 09:36 AM
I am taking programming at a community college so that I can change careers and hopefully get into the IT field. So far, I've taken three courses in C++ and one Java.
I'm also seriously considering applying for graduate programs in Information Security. Most of them require C++, so that's what I'm concentrating on at the moment.
bricklayer
06-10-2008, 01:43 PM
I know anumber of languages but of course my favorite is PHP. Nothing you can't do with it.
AutisticCuckoo
06-11-2008, 02:38 AM
Good (or at least decent)
C
C++
PHP
Java
JavaScript
Intermediate
ASP/VBScript
sh(1) scripting
Mostly forgotten
Fortran
Pascal
PL/SQL
Forth
Basic
Z80 assembler
Touched upon
Lisp
Prolog
Ruby
I'm also considered (at least by some) to be a guru when it comes to HTML, XHTML and CSS, but those aren't programming languages.
walfin
06-13-2008, 10:22 PM
Hi, I'm a visitor.
Pretty interesting contrast to the programming thread in INTPc. Length, for one. The one there is like uber long. Wonder if that's representative of fewer INTJ coders?
Content is another different. While the thread there pretty much meanders all over the place, this thread seems to have morphed into a consistent "I know these languages" or "intro" thread.
For a change, I shall give my 2 cts (or mayb less) worth on some of ur comments.
I know anumber of languages but of course my favorite is PHP. Nothing you can't do with it.
You can't control a graphics card's shader with it. Neither can u write directly to memory, control a robot, or low-level format a hard disk. (mayb there'll be a PHP systems programming edition 1 day tho :) )
No language can do it all. C++ comes close.
I'm also considered (at least by some) to be a guru when it comes to HTML, XHTML and CSS, but those aren't programming languages.
i was administered a test once where there was a question that went "HTML is a ______ language". I wrote "markup" and got marked wrong. Turns out the answer in the answer key was "programming"?!
Seleya
06-13-2008, 10:49 PM
Hi, I'm a forty-something INTj who has returned to school to study programming. I'm a rising second-year computer science major.
Only language: Ada (but I have performed the initiations of the infinite loop and the agonizingly obviously missing comma).
dtecmeister
06-25-2008, 10:51 PM
Kansuke - assembly knowledge is essential to fully understanding how all programming languages really work. Perhaps INTJ's are prone to digging into the details. For me it was because I started on a C64 where you couldn't get much done without peeking and poking and relying on some assembly code (actually typed in the machine code manually, tedious, but I remembered the numbers better then than I remember the op codes now).
Zedicus
07-01-2008, 01:20 AM
Guru
PowerBuilder ( Bet you dont hear that too often lol )
SQL ( both SQL Server and Oracle )
Good
Java (used to teach it)
C# (.NET)
VB (.NET)
VBA
Java
Access ( even though I would rather call XML a programming language then Access)
Know enough to be dangerous to the QA department
C++
C
HackerX
07-01-2008, 03:17 AM
Hi, I'm a visitor.
Pretty interesting contrast to the programming thread in INTPc. Length, for one. The one there is like uber long. Wonder if that's representative of fewer INTJ coders?
It's representative of the fact that it hasn't existed anywhere near as long.
Content is another different. While the thread there pretty much meanders all over the place, this thread seems to have morphed into a consistent "I know these languages" or "intro" thread.
Beause the thread topic/question is different, I just took the format from that thread.
You can't control a graphics card's shader with it. Neither can u write directly to memory, control a robot, or low-level format a hard disk. (mayb there'll be a PHP systems programming edition 1 day tho :) )
No language can do it all. C++ comes close.
You probably could given the right language extensions. What makes all those possible has little to do with the language itself, but rather the ability of the compiler to make that happen (and whether allowing such is the direction the language should be) and the subsequent libraries associated with said language. Sometimes you want to be able to do that... but the majority of real programming work, having to deal with stuff like that is not only troublesome, but costly. Sure you can drive a nail in with a shifter (monkey wrench) if you really wanted to...
i was administered a test once where there was a question that went "HTML is a ______ language". I wrote "markup" and got marked wrong. Turns out the answer in the answer key was "programming"?!
You should have argued the point. If a teacher, or teaching material is wrong, then they need to be shown what is correct, before what they do, damages the industries that depend on those skills.
athenian200
07-01-2008, 05:23 AM
I played with C once and managed to create a command line calculator-like program, with a menu that allowed several different mathematical operations, told you when you chose a nonexistent option, and returned to the menu after every operation until you selected the number for "exit."
I also know a little bit of HTML markup, enough to have an idea of what a webpage is doing if I view it as source.
I'm also pretty good at writing MS-DOS batch files that automate several commands, or at least I used to be.
I do know the configuration and complexities of the operating systems I use in a non-programming way, however, and am pretty good at figuring out configuration files, such as *.ini files in Windows, or any files under /etc in Linux.
But in all honestly, I'm no programmer. I just got bored and learned a few simple tricks when I was younger.
msfeldha
07-01-2008, 06:39 PM
Guru:
C#
VB6
ASP
SQL
Good:
Java
C++
Pretty confident I could learn any programming language if need be. I believe the true skill is in giving the user/customer what they need in an intuitive and simple interface.
"Make everything as simple as possible, but not simpler." Albert Einstein
d4m45t4
07-28-2008, 02:35 AM
What languages are best to be familiar with when getting ready for a computer science major in general? I just do not want to go into class and find many topics to be advanced, and students to be fluent in languages I have never heard of.
Become a good programmer before you even start school. You can use class to reinforce the good habits and deter you from the bad, and give you a chance to show off your talent.
From personal experience, its best to get an overall understanding of computing theory first -- read The Art of Computer Programming by Knuth. It'll give you a complete low-to-high level understanding of programming, and from there all languages become almost trivial to learn.
If you're aiming to get a well rounded selection, here are my picks (and why):
C (simple,low-level,zero run-time,almost full hardware control)
MIPS / x86 Assembler ( full hardware control, MIPS = nice,clean,concise, x86 = fugly but ubiquitous, need to know for debugging )
Smalltalk ( object oriented programming the right way )
Obj-C ( c with smalltalk-style oo, language of choice at Apple, Apple = future )
Ruby ( dynamic types, inspect and manipulate code on the fly, Ruby on Rails = future )
Javascript ( beautiful dynamic c-style oo language, prototyping leads to really sexy and concise code, see jQuery )
Haskell ( pure functional language, completely different approach to code )
Erlang ( concurrent programming at its best, think multicore )
Lisp ( real men write programs that write their own programs )
Java ( if you cant find a job doing Ruby on Rails )
.Net ( if you idolize the PC guy in the commercials )
Java and .Net are there grudgingly. Avoid them if you can afford to.
In addition to the right skills, it's important to have the right attitude. You can program anything your mind can imagine, so be bold. Don't stifle your creativity, avoid conformists, and love what you do.
vBulletin® v3.8.4, Copyright ©2000-2012, Jelsoft Enterprises Ltd.