PDA

View Full Version : Programing v2



Gero50
03-02-2010, 03:07 PM
Hay guys I had created a thread like this a long time ago in fact it was before this tech forum section was created. Back then I had to post it in misc. Though now it is here and it has been a while sense people have talked about like this, so I though I would try a version 2.

So as the title says this topic will be about programing.

So if you program what do you program why do you do it and what languidge do you make your programs in.

I know a bit of html and am learning more on xhtml/css and php as well as mySQL these days.

Miss Moonlight
03-02-2010, 03:19 PM
Well, HTML isn't really a programming language. It's a markup language.

For my job, I usually have to code my own pages - so the only programming/scripting language I am knowledgeable about is PHP, although i'm not fluent in it and I mostly just code pages without it.

I have written some of my own JavaScript, but that's a lot easier.

I've never actually written a program, though.

Eris
03-02-2010, 03:45 PM
Programming languages I know:


C (primarily C99, but I'll survive in C90, C89 and ANSI as well)
C++
Java
Assembly (6502)
Lisp (kinda rusty)
Haskell (learning)*
Python
Javascript
Shellscript
PHP
Lua (rusty)


+ probably a bunch I'm forgetting. Out of these, I can write professional-level code in all of the above but Lisp and Haskell. My C skills go even farther, though. I know the language inside and out, every nook, crevice and cranny.

It seems a lot, but once you've learned a certain number of languages, you know enough programming to pretty much pick up any given language in the same paradigm in less than a week.

I also know a bunch of mark-up languages like HTML, XHTML, XML, and whatnot. But that's not really programming.



* Haskell is awesome and mind-blowing. You can write the notoriously messy quicksort algorithm in two lines. Looks like this:



quicksort [] = []
quicksort (x:xs) = (quicksort $ filter (< x) xs) ++ x ++ (quicksort $ filter (> x) xs)

Vyndrasta
03-02-2010, 04:03 PM
I know a few that Eris had listed.

I've fixed the clutter for messy programs and unnecessary codes embedded in a particular video game (company) I work for. I was hired to do just that and video game programmers are different than any other programmers. But I wont say anymore. xD

Eris
03-02-2010, 04:25 PM
I was hired to do just that and video game programmers are different than any other programmers. But I wont say anymore. xD

That's probably because video games actually require half-way decent programmers.

Modern languages such as Java and C# allows the most mediocre programmer to write working software, so the average computer programmer today really isn't very good at all (I would say there is an alarming number of absolutely dismal programmers out there).

But video games don't just require code that gets the job done if you throw a mainframe or two at it and wait 4 weeks, they require brilliant code that is responsive and has low latency, thus, attracting a quite different crowd.

Though that doesn't go to say that -all- video game programmers are walking programming demigods: The minimum standard is higher, that is all.

Sephiroth
03-02-2010, 04:56 PM
Eris, why did you learn 6502 ASM? Was it to program a Nintendo emulator?

I can program in the following languages:
C
C++
JavaScript
PHP...and various markup languages.

I learned C and C++ in order to program computer emulators of video game consoles. Since then, I've programmed a CHIP-8 and SCHIP emulator in C. As for C++, I've used it to write a password cracker, to write some graphics demos, and to patch ROM files for a translation project. I haven't written anything new with these languages in a long time. I don't have an interest in programming as a hobby anymore.

JavaScript and PHP, I use for web design projects.

Eris
03-02-2010, 05:40 PM
Eris, why did you learn 6502 ASM? Was it to program a Nintendo emulator?

Well, kinda. But not really. I wrote a general 6502 emulator, not specifically targeted at any system.

wizz-o-matic
03-02-2010, 06:48 PM
started with Pascal in highschool ... then Java and C in college ... ended up with Python nowdays.

KawaiiAi
03-02-2010, 07:03 PM
Lets see..

I can program in these langauges:

-C
-C++
-Java
-Python
-Javascript
-Shellscript(not so good in)
-PHP
-MySQL

I know some markup language as HTML, XHTML, XML.
Im better in coding Javascript and PHP. Im losing my touch in prgramming these days. I tried coding a Maplestory PS, I used my XMLS with Javascript(failed); attempted making a C++ scripted server, fail. But in otherwords, I have some knowledge.

BiggSam
03-02-2010, 07:10 PM
DAAAH!
Where do you look to learn programming, because this it the 2nd time i've heard about python today and now I'm curious

Megamind's Minion
03-02-2010, 09:16 PM
heard most of the languages listed below...
know a bit much of something but terribly bad in every endeavor i took to create a decent enough program...
but still enough to pass school requirements...

prog and mark up lang..

C..
Java <no offense meant, i hate this language>
Assembly

Javascript...
PHP
MySQL
CSS
HTML
XML
XHTML needs this block for my present subjects and i enjoy every minute of it especially the SQL part...

Lisp in my Prog Lang lesson...

and we are required to submit a paper on Perl....;)

Aizmov
03-03-2010, 12:06 AM
* Haskell is awesome and mind-blowing. You can write the notoriously messy quicksort algorithm in two lines. Looks like this:



quicksort [] = []
quicksort (x:xs) = (quicksort $ filter (< x) xs) ++ x ++ (quicksort $ filter (> x) xs)



My Haskell and Prolog is rusty, but they were the best language I've ever programmed in.

Currently I wanna focus on Objective-C, C and Perl. Shame I'm too lazy and wasting too much time gaming. But this coming summer I'll start putting some effort into them. I'll be getting me a Mac mini and I'll start doing some Cocoa and OpenGL development. Procrastination and lack of focus and dedication is killing me.

So this is a list of programming languages I knew (as in mostly not anymore) at some level or another:
C
Java
C# <- I did many undergrad projects in this
Python
Haskell
Prolog
MIPS Assembly
x86-32 Assembly (a limited subset)
Perl
Objective-C
BASH
Lisp
Groovy
JavaScript <- haven't touched it in over 6 years
C++ <- haven't touched it in over 6 yearsThe problem is obvious, I know a little bit of this and that, but not good enough in most of them.

I know next to zero HTML, CSS and other weby languages. I knew some Verilog, but haven't used it in ages.

Vyndrasta
03-03-2010, 12:25 AM
That's probably because video games actually require half-way decent programmers.



Decent = learning the basics.

Excelled = loss of hair and insomnia.

Nuff said.

Aizmov
03-03-2010, 12:40 AM
That's probably because video games actually require half-way decent programmers.

Modern languages such as Java and C# allows the most mediocre programmer to write working software, so the average computer programmer today really isn't very good at all (I would say there is an alarming number of absolutely dismal programmers out there).

But video games don't just require code that gets the job done if you throw a mainframe or two at it and wait 4 weeks, they require brilliant code that is responsive and has low latency, thus, attracting a quite different crowd.

Though that doesn't go to say that -all- video game programmers are walking programming demigods: The minimum standard is higher, that is all.

This reminds me of The Story of Mel (http://rixstep.com/2/2/20071015,01.shtml).
You probably read it, but it is still worth sharing.

And Mel is for real
http://en.wikipedia.org/wiki/Mel_Kaye

Eris
03-03-2010, 03:56 AM
This reminds me of The Story of Mel (http://rixstep.com/2/2/20071015,01.shtml).
You probably read it, but it is still worth sharing.

And Mel is for real
http://en.wikipedia.org/wiki/Mel_Kaye

It's a classic.


Decent = learning the basics.

Excelled = loss of hair and insomnia.

Nuff said.


That's not really how I would put it.

The worst type of programmer does it by recipe. He knows a large list of snipplets of code that do various things. He doesn't really understand why this is, but he knows that if he strings them together, what he wants to happen happens. This is cargo cult programming (http://en.wikipedia.org/wiki/Cargo_cult_programming). It is more like harry potter-esque magic than anything else.

A bad programmer actually knows the language. He understands the concepts, but does not actually -think- about what he's doing. His solutions are usually the naivest ones conceivable, and therefore 10 times slower and longer than a more appropriate approach.

A decent programmer both knows the language, and has enough experience to come up with a reasonably efficient solution for any given problem. A decent programmer can also structure code in a way so that future re-factorizations occur much less frequently than the previous types of programmers.

Beyond this, the tendency is to write less, but more efficient code. This is not to be confused with the anti-pattern of writing overly elaborate code, though. (The saying goes that you should write code half as smart as you are, as it's twice as difficult to debug code than it is to write it.)

Gero50
03-03-2010, 01:50 PM
It's a classic.




That's not really how I would put it.

The worst type of programmer does it by recipe. He knows a large list of snipplets of code that do various things. He doesn't really understand why this is, but he knows that if he strings them together, what he wants to happen happens. This is cargo cult programming (http://en.wikipedia.org/wiki/Cargo_cult_programming). It is more like harry potter-esque magic than anything else.

A bad programmer actually knows the language. He understands the concepts, but does not actually -think- about what he's doing. His solutions are usually the naivest ones conceivable, and therefore 10 times slower and longer than a more appropriate approach.

A decent programmer both knows the language, and has enough experience to come up with a reasonably efficient solution for any given problem. A decent programmer can also structure code in a way so that future re-factorizations occur much less frequently than the previous types of programmers.

Beyond this, the tendency is to write less, but more efficient code. This is not to be confused with the anti-pattern of writing overly elaborate code, though. (The saying goes that you should write code half as smart as you are, as it's twice as difficult to debug code than it is to write it.)

That is pretty interesting Eris, so what got you into programing anyway. For me it is just fun and nice to see this stuff come to life.

Eris
03-03-2010, 02:06 PM
That is pretty interesting Eris, so what got you into programing anyway. For me it is just fun and nice to see this stuff come to life.

I've been doing it since I was like 9 years old. Don't really remember the specific details. My first words in English were all reserved keywords in BASIC. Like FOR, WHILE, DO, PRINT, etc. .

There is some sort of intrinsic reward in programming though, much like other creative tasks.

Gero50
03-03-2010, 03:47 PM
I've been doing it since I was like 9 years old. Don't really remember the specific details. My first words in English were all reserved keywords in BASIC. Like FOR, WHILE, DO, PRINT, etc. .

There is some sort of intrinsic reward in programming though, much like other creative tasks.
That is true that is why I am trying to learn some, though I am having troule picking a language.

Vyndrasta
03-03-2010, 07:37 PM
That is true that is why I am trying to learn some, though I am having troule picking a language.

Do you know the reason(s) why you're having that problem.
Do a process of elimination. If you don't like one go for the other and come back to perhaps -try- to accomplish what you couldn't do in the past. You wont know unless you try.

@Eris: I wasn't trying to imply that programming video games is hard, I mean anyone can do it right off the bat if you know C++. Now this can be debatable in a persons span of knowledge of course. I'm no god nor a demi-god, so believe me I'm your average Joe. :)

In my line of work specifically for a MMO game, it's rather difficult when live servers go up when the job isn't done yet and you have millions of players logged in AND all sorts of mishap happening because of some screw up who happens to be 500 miles away isn't that "great" with algorithm and logic skills. I'd hate to have myself get fired for any mishaps cause we have deadlines to overcome per quarter dates. NOTE TO SELF: quit being a lazy duck. lol. So working fast and efficiently gets the job done I hear. xD

@Aizmov: I'd like to know what undergrad projects you did with C#. Essays attached to that by any chance?

Gero50
03-03-2010, 09:09 PM
Thanks man though that is kinda what I have been doing. At least for my web programing.

Aizmov
03-16-2010, 01:35 PM
@Aizmov: I'd like to know what undergrad projects you did with C#. Essays attached to that by any chance?

Nothing major just some simple phase based image matching and a remedy system.
I don't mind posting the code and essays but I'm afraid people will laugh at me, and it was a group effort so I can't claim ownership to it.

I'm trying to unremember it as I focus on Objective-C and Cocoa. I want to focus on Mac OS and iPhone OS development.
C#, .net and Java are technologies I don't wanna get near anymore. Shame universities and businesses love them.

IFS
03-16-2010, 01:49 PM
Programming languages I know:
C (primarily C99, but I'll survive in C90, C89 and ANSI as well)
C++
Java
Assembly (6502)
Lisp (kinda rusty)
Haskell (learning)*
Python
Javascript
Shellscript
PHP
Lua (rusty)+ probably a bunch I'm forgetting. Out of these, I can write professional-level code in all of the above but Lisp and Haskell. My C skills go even farther, though. I know the language inside and out, every nook, crevice and cranny.

It seems a lot, but once you've learned a certain number of languages, you know enough programming to pretty much pick up any given language in the same paradigm in less than a week.

I also know a bunch of mark-up languages like HTML, XHTML, XML, and whatnot. But that's not really programming.



* Haskell is awesome and mind-blowing. You can write the notoriously messy quicksort algorithm in two lines. Looks like this:



quicksort [] = []
quicksort (x:xs) = (quicksort $ filter (< x) xs) ++ x ++ (quicksort $ filter (> x) xs)
I humbly bow to your skills, and thus I shall call you master.

I just know some C# and C++ with some mySql and SqlServer 2008, and html, there is no big difference between mySql and SqlServer, and I normally create websites (meaning only one so far) for my boss this one (http://www.pereunion78.co.za) it was good exercise but its wasn't hard to do

Gero50
03-16-2010, 04:29 PM
I humbly bow to your skills, and thus I shall call you master.

I just know some C# and C++ with some mySql and SqlServer 2008, and html, there is no big difference between mySql and SqlServer, and I normally create websites (meaning only one so far) for my boss this one (http://www.pereunion78.co.za) it was good exercise but its wasn't hard to do
Well it is true Eris dose know a bit though like he said himself. Once you've been doing it long enough learning a lot of different languages is easier each time.

Eris
03-16-2010, 04:47 PM
Pretty much. Most programming languages only differ by so much. When you've learned several languages, you can learn a new language over a weekend, and write reasonable code about a week later.

Gero50
03-16-2010, 10:10 PM
Pretty much. Most programming languages only differ by so much. When you've learned several languages, you can learn a new language over a weekend, and write reasonable code about a week later.
Yah that sounds possible thou for someone like me who has pretty much only used the bar bones of VB what do you think I should go for besides VB.

IFS
03-17-2010, 08:15 AM
I have this little problem, how do I get the path of a file from a console application written in visual C# 2005?

Eris
03-17-2010, 11:33 AM
No idea. I avoid C# like I avoid Ebola victims.


Yah that sounds possible thou for someone like me who has pretty much only used the bar bones of VB what do you think I should go for besides VB.

Python is a good general purpose language. Widely accepted as a good language for inexperienced programmers.
C if you want to be a manly man who laughs in the face of segmentation faults. (C is essentially portable assembly. It's fast as hell, but it's also pretty unforgiving.)
Java if you want to get a job as a menial code monkey. It's also good for prototyping stuff you want to write in some less forgiving language later.
Haskell or Lisp if you want your mind blown.

Gero50
03-17-2010, 02:58 PM
No idea. I avoid C# like I avoid Ebola victims.



Python is a good general purpose language. Widely accepted as a good language for inexperienced programmers.
C if you want to be a manly man who laughs in the face of segmentation faults. (C is essentially portable assembly. It's fast as hell, but it's also pretty unforgiving.)
Java if you want to get a job as a menial code monkey. It's also good for prototyping stuff you want to write in some less forgiving language later.
Haskell or Lisp if you want your mind blown.
I have hear quite a bit on Python though what makes it such a good one for beginners just wondering.

Eris
03-17-2010, 03:43 PM
I have hear quite a bit on Python though what makes it such a good one for beginners just wondering.

It is easy enough not to get in the way of learning, while still being powerful enough to write real programs in.

Gero50
03-17-2010, 03:57 PM
It is easy enough not to get in the way of learning, while still being powerful enough to write real programs in.
I see, could you please give me a few examples or links to some.

Eris
03-17-2010, 04:06 PM
http://users.aims.ac.za/~mackay/python/examples/

Shin Natsume
03-17-2010, 04:09 PM
Heh, Eris is a freaking programming GOD! When I have an issue that I have looked up but still is unclear I consult him. And sure enough he almost always has the solution. He's to the point in C where I could probably throw any problem at him and he could develope an excellent solution. He's not some dumb programmer, he loves doing it which is a must for anyone who actually wants to be good.

Aside from that, I love to program but I didn't start doing it at age 9 haha. I started around maybe 16 ~ 17.

I'm fluent with the following:
HTML
CSS
JavaScript

I'm decent in:
C
C++ (this one has lots of bloat features I never use)
Java
6502 Assembly (Eris recommended I write the emulator so thats why I'm learning it, the emulator still isn't done but its a work in progress still. Classes and lots of other projects come up. Too many actaully)

I'm also learning Python at the moment.

I'm into network programming as well. C would be my primary language for that

Gero50
03-17-2010, 04:14 PM
http://users.aims.ac.za/~mackay/python/examples/ (http://users.aims.ac.za/%7Emackay/python/examples/)
Great this is very good thanks a lot Eris. I'll give it a shot an let you know how it goes or if I have any questions.

Eris
03-17-2010, 04:25 PM
By the way, budding programmers, a random tip: Write code for generating PGM or PPM images (the ASCII-version of the file format, that is). It's a really easy format, and it can be viewed with The Gimp or any reasonably advanced graphics program.

All you should need can be found here: http://en.wikipedia.org/wiki/Netpbm_format

It's very useful when you want to visualize something in a hurry.

Gero50
03-17-2010, 04:37 PM
By the way, budding programmers, a random tip: Write code for generating PGM or PPM images (the ASCII-version of the file format, that is). It's a really easy format, and it can be viewed with The Gimp or any reasonably advanced graphics program.

All you should need can be found here: http://en.wikipedia.org/wiki/Netpbm_format

It's very useful when you want to visualize something in a hurry.
Okay I just scanned over the wiki you provided I'll read it i full soon thanks a lot man.

Aizmov
03-17-2010, 07:41 PM
"
Yah that sounds possible thou for someone like me who has pretty much only used the bar bones of VB what do you think I should go for besides VB.

Noooooooooooooo! Not basic!

"the teaching of BASIC should be rated as a criminal offense: it mutilates the mind beyond recovery."
-- Edsger W. Dijkstra

An OOP Basic is even worse!

Gero50
03-17-2010, 08:52 PM
"

Noooooooooooooo! Not basic!

"the teaching of BASIC should be rated as a criminal offense: it mutilates the mind beyond recovery."
-- Edsger W. Dijkstra

An OOP Basic is even worse!

I never took a class on any programing I am all self taught just like most computer skills I have.

Shin Natsume
03-17-2010, 11:38 PM
"

Noooooooooooooo! Not basic!

"the teaching of BASIC should be rated as a criminal offense: it mutilates the mind beyond recovery."
-- Edsger W. Dijkstra

An OOP Basic is even worse!

O_O whats wrong with BASIC? Goto?

Eris
03-18-2010, 06:31 AM
Djikstras remark was about an early version of BASIC that was quite dismal. That doesn't go to say that VB is a particular big improvement, though. The fundamental problems are very much still around.


I never took a class on any programing I am all self taught just like most computer skills I have.

That's really no excuse to use BASIC. I'm also self taught. While I have take a few classes in recent years, that was because I needed the credits. I didn't really learn anything I didn't already know.

Gero50
03-18-2010, 08:36 AM
Djikstras remark was about an early version of BASIC that was quite dismal. That doesn't go to say that VB is a particular big improvement, though. The fundamental problems are very much still around.



That's really no excuse to use BASIC. I'm also self taught. While I have take a few classes in recent years, that was because I needed the credits. I didn't really learn anything I didn't already know.
Oh I see well it is always nice to get an easy credit or two out of the way. So why did u take classes on BASIC when you could have taken one on a standard that you did not know as well.

Eris
03-18-2010, 11:26 AM
Oh I see well it is always nice to get an easy credit or two out of the way. So why did u take classes on BASIC when you could have taken one on a standard that you did not know as well.

I haven't taken any classes in BASIC. What programming classes I've taken have been in C.

Shin Natsume
03-18-2010, 03:16 PM
You have a huge advantage this way. Atleast I have, especially in C/C++, and JAVA courses I have taken. Stuff is way easy. I did all of the course material on literally the second night of class this semester. So all i have to do is "attend class" now.

Gero50
03-18-2010, 09:12 PM
I haven't taken any classes in BASIC. What programming classes I've taken have been in C.
Oh I remember reading C was very easy to pick up on without classes.

Wio
03-19-2010, 12:46 AM
Don't limit yourself to any particular language and don't feel like you ought to learn a specific language. Once you get a sufficient understanding of fundamental programing concepts, learning a new language becomes on par with learning the names of everyone else in you class. Certainly higher level languages are better if you're just getting started, but lower level languages force you to get a better idea of what's really going on with the computer.

Also, don't get to worried about memorizing syntax, because there's nothing wrong with checking documentation. You'll automatically memorize things based on how useful they are anyway.

Eris
03-19-2010, 07:49 PM
Oh I remember reading C was very easy to pick up on without classes.

Well, in my experience, classes can at best help you teach yourself programming.

It's like painting. You can go to classes, and they will teach you to hold a brush, and to apply paint, and various techniques, but in the end, you must teach yourself to make paintings.

I'm not saying programming is an art. It's a creative activity that has an useful result. So it's more like a craft. Pottery, or whatever.

Gero50
03-20-2010, 12:11 AM
Well, in my experience, classes can at best help you teach yourself programming.

It's like painting. You can go to classes, and they will teach you to hold a brush, and to apply paint, and various techniques, but in the end, you must teach yourself to make paintings.

I'm not saying programming is an art. It's a creative activity that has an useful result. So it's more like a craft. Pottery, or whatever.
I see what you mean and yah it is very creative. So what is the last program you have made.

Hugo-Kof
04-22-2010, 11:33 PM
I only know


-Visual Basic: this is the most fun, entertaining and easy to understand programming language I've seen.

-C++: I did not liked it that much, I took a level 1 class and it was a little hard to understand. I ended up earning a B in the class.

Planning on taking Java next semester, or next year if things get complicated with my class schedule...

Gero50
04-23-2010, 04:32 AM
I only know


-Visual Basic: this is the most fun, entertaining and easy to understand programming language I've seen.

-C++: I did not liked it that much, I took a level 1 class and it was a little hard to understand. I ended up earning a B in the class.

Planning on taking Java next semester, or next year if things get complicated with my class schedule...
I would go for Java so keep your plan. Java is a far easier one to pick up then C++. Though you might find once you have learned Java that you understand C++ more.

1gn1t0r
06-27-2010, 07:17 PM
My top programming language are C# and C++

I learn programming to create games and honestly it's difficult to create 3D games. Rather start at 2D.

With difficult having the meaning that it takes a lot of time