[WCS EU] Season 1 Finals -…
[SPL] Round 5 Week 3 Revie…
[GSTL] Week 10 - Prime Tim…
[WCS KR] Innovation vs. Sy…
[WCS AM] Ro16 Group D Prev…
TL Site Changes
[WCS EU] Grubby, MMA, Ret …
Pizza: All Tiers Reached
Vici and RisingStars Advan…
Up&Down groups for 2013 WC…
HerO, Revival Interviews -…
[SPL] Round 5 Week 4 Start…
Get 50% off Papa John's pi…
TL Advertising Features
Creative Writing Thread
[SFW] Random pics that m…
One Piece Manga
US Politics Megathread
[TV/BOOK] *SPOILERS* Gam…
TL Site Changes
The Automated Ban List
[BarCraft] Irvine - WCS Am…
Roxin's Starcraft II Strea…
DC/VA/MD Weekly Nerd Dinne…
The Stephano fanclub
The IdrA Fanclub
[Stream] Honeybear
[stream] DavY
The Ultimate Mouse Thread
Getting a new Mouse! Any R…
[H] Computer hangs
Computer Build Resource Th…
Simple Questions Simple An…
Designated Balance Discu…
Quantic HyuN's replay pack
IdrA signs with eMG
This Week in Starcraft 2…
Team & Clan Recruitment …
GomTV: about the gamespe…
[WCS EU] Finals Day 1 Prem…
[GSTL] NSH vs MVP 2013 S1
£400 SC2Improve Summer Lea…
Overclock.net $2,500 SC2:H…
FREE 64 Player Knockout: S…
The HotS Protoss Help Me T…
[!] The Pro Zerg Strategy …
[Q] Is Mech weaker then bi…
CatZ CC first counter - a …
[H] How to counter void ra…
[M] (2) Oasis 9
Work In Progress Melee Maps
Map Jam & Challenge #5
[M] (4) Eureka
Map Analyser Tool
Dota 2 QQ thread
General Discussion
DotA 2 Team Recruitment …
Inhouse Dota
The International Intera…
Dota 2 funny pics thread
[G-1] LAN Finals
[D2L] Fnatic vs. Mouz
Starladder Season 6
Dota 2 General LR thread
Merita $250+ Australian Do…
Simple Questions, Simple A…
[G]uide to Lifestealer
Question: Luna Item Build
Newly ported Hero discussi…
[G] In-Game Dota Guide for…
[D] New BW Server
SC SUM - StarCraft Super…
2 Artificial Intelligenc…
sGs New Player/Low Level…
Map (4)Kyanite Prospect …
[Update] itemBay SSL Gra…
D Ranks Teamleague Season 4
[TLS2] Results and Standings
[GC S3] Gambit's Cup Semif…
Gambit's Cup Season 3 Roun…
C Ranks Teamleague Season 1
Simple Questions, Simple A…
Increasing APM/EAPM
Practice Partner Thread
Challenger map on Starcraf…
NBA Playoffs 2013
Champions League/Europa …
Magic: The Gathering Onl…
World of Tanks
EVE Corporation
[M][N] Les Mafia
[T] Bastard "Mini" Mafia!
Bastard "Mini" Mafia Vote …
The Injuries Thread
General nutrition recommen…
Running Thread
Leta - Movie
Michael - skyline
Anytime - Beast
By.Hero - Shuttle
Anytime - Pusan
Customize Sidebar...

Website Feedback

Closed Threads


IRC Web Chat

TeamSpeak 3 (92 users)


Active: 9160 users

The Big Programming Thread

Forum Index > General Forum 1 2 3 4 5 6 7 8 9 10 11 100 200 296 297 298 299 300 301 302 303 304 305 306
  tofucake   United States. July 07 2010 21:59. Posts 11478Profile Blog # 
Thread Rules
1. Try to stay on topic. Minor deviations are acceptable/understandable. If it goes too far/on for too long I'll have to tattle.
2. Don't post a huge block of code and ask "what's wrong?" or I'll smack you.
3. ?
4. Profit.

Look! An IRC channel! (#tl.code)



A Pretty Good Blog




These are really good posts. Everyone should read them.


On January 29 2012 17:02 Crazyeyes wrote:
Alright, I've got a little question for you guys. I'm currently in third year university, major in computer science. Before University, I honestly didn't even know what programming was.

So anyways. As I've mentioned, I'm third year. All of my knowledge in computer programming comes from my classes. I'll admit I'm not the best student, but I do pay attention when I can and I'm not exactly failing my way through this. I don't ever program on my free time or read programming-related things that aren't school related.

So far, we've pretty much only learned Java when it comes to useful programmming languages. I did a bit in Scheme, a very small amount in Assembly (I forgot most of it, honestly. It was horrible), some HTML... and I'm currently learning C. Much harder than I expected. Pointers sorta confuse me sometimes.

The thing is, I feel like I don't know anything. I feel like pepole who have way less education than me are more capable than I am. I've never said "I've made a script to do...."
I dont even know what that is.

What I hope is going on is that I'm being given the basic (and hopefully more advanced, too) programming skills and knowledge that can be applied to all computer science, and then the more specific things I'll be able to pick up without too much effort. I'm hoping that when I sit down and am told to do X at some random job, I'll be able to do it and be surprised with how much I know.
I'm just not very sure.

So, to any of you who come from a similar background (learned everything at school), can you shed some light on your situation? Is this normal?



On January 29 2012 17:54 Abductedonut wrote:
I can say that this is a direct result of learning java first. I know lots of students who come from java without any prior programming experience and C/Assembly is horrible to them and they don't feel like know "anything."

Here's the basic truth.... Computer Science isn't all programming. Programming is how you APPLY the concepts you learn in computer science. To use an analogy, you're learning how to build a car from inside before actually building it ( programming ). Algorithms and data structures and classes like that teach you when to use a V8 engine rather than a V12 engine... etc etc.

So if I were to basically list out languages from lowest level to highest, it would sorta go like this:
- Machine Language
- Assembly
- C
- C++/Java/C#...

Machine Language is pretty useless to learn from what I've seen. Assembly is SUPER important because C/C++ code eventually gets translated to assembly. It's important to learn what happens on the lower levels when you create a function in C. You want to know how C sets up the stack and all that, and that's how knowing Assembly Language helps.

Anyway, I digress. As you learn C, you will realize that you'll slowly become "pro" at programming. No bullshit things like objects and code written for you in C. C really is a no-bullshit language, and you have to know exactly what you're doing or else you'll spend majority of your time fighting the code.

C will introduce you to wildly advanced topics like returning ANY type of data from a function (void pointers), passing entire functions as arguments, or returning entire functions ( function pointers )... hell you'll even learn neat tricks like optimizing switch statements by using function pointers. You'll learn EXACTLY when to pass things by reference and EXACTLY what happens inside your code. No more "let's change this and hope it works!" C is THE nerd's computer language. Most people in this thread will come in here and argue that java, python, whatever language they use is better and it might be true, but you don't "truly" learn to program unless you do so in C.

Once you're completely comfortable with the basics on C, I suggest you work on mastering these topics:

- OS APIs... ( WIN32 API, int 0x80 system calls.. ( basically linux system calls )... dunno what trashSX uses... )
- Network Programming ( Sockets, TCP/UDP ports, sending GET/POST through C for port 80 )
- Multi-threaded Programming
- GUI Programming using OS APIs... Avoid using things like QT's drag and drop GUI builder because you won't learn anything
- * This list in incomplete, but that's all that comes to my mind atm. I could mention things like global keyboard hooks, directX hooks, etc, but you'll discover those as you want to do certain projects. Will add stuff if I can remember it for the future! *

Once you've got all that down, you'll pretty much be able to program "anything." Your CS classes will come back remind you what search algorithms, data structures, and boolean logic to use to make your programs better.

At this point, when you move onto other languages it will be more about syntax. Your questions will shift from "Well how do I connect to a server?" to "Where can i find the socket API to this language?" You'll know what you need, and it will just be a matter of how to find it. I've gotten to a point where I can learn languages in about 2 hours. I learned how to program in matlab to help my friend out in under 20 minutes. I learned javascript programming for Adobe After Effects in about an hour and I was able to help visual effects artists modify various features of their shots by writing scripts for them.

That's my suggestion to you. Learn C, then go back and touch over assembly and you'll be able to program in anything.

Now... if you want to be a TRUE nerd and pwn EVERYONE at programming... start learning how to hack/crack/reverse engineer software. Hacking requires you know everything about everything, and it will open up your eyes to programming like you've never seen before. You'll learn how accidentally using a pointer after freeing it can cause a skilled programmer/hacker to compromise the entire system. Hacking is the CRUX of computers, and the most skilled programmers and computer scientists result from hacking. You can start off with a book called "The Shellcoder's Handbook" if you're interested in touching on the topic. That book is very technical and will really get you thinking about how things inside the computer work...

Ah, and just for some light reading... Here's a post by Linus Torvalds... the creator of the Linux operating system. I think this is hilariously interesting!
+ Show Spoiler +



On January 29 2012 22:22 ObliviousNA wrote:
Damn, that linux link was interesting. Your response was articulated much better than I could have hoped to do, that was an excellent read.

@Crazyeyes, I was in the exact same boat last year. I was a third year who had only ever done TI-83+ programming, and sort of came to the major by accident. Then I got a job at a career fair, and my confidence soared. Frankly I didn't know jack**** about any of the languages I needed to, but what I did know was the concepts. Learning languages, APIs, etc is surprisingly easy once you've got a decent grasp on your first few.

I did have the advantage of learning C first though, which I didn't really appreciate at the time. (Looking back, I'm very glad I had the low-level overview because I would have been severely lost in several major projects since then if it weren't for the foundation in C).

Anyway, my advice is to get ANY kind of employment, paid, with the school, with a group of friends, or otherwise, and learn from there. I look back and find myself SHOCKED at how utterly unqualified I was for this position 6 months ago. You end up learning a ton through trial and error, but the concepts at college give you a really good foundation. You're learning how to learn, and after that it's up to you to apply it.

One more thing - I used to be intimidated by phrases like 'running scripts', etc. (Lot's of nerdy friends). It's not nearly as impressive as it sounds. Useful, but not difficult.




On March 23 2011 03:36 TheBB wrote:
Did we do this yet?

Relevant reading material.

Poll: Indentation style

Allman (391)
 
56%

K&R (286)
 
41%

Whitesmith (18)
 
3%

695 total votes

Your vote: Indentation style

(Vote): K&R
(Vote): Allman
(Vote): Whitesmith



BTW OP: Here are some Haskell links for the OP.
http://book.realworldhaskell.org/read/
http://learnyouahaskell.com/chapters






Some Advice
Just today (10 December 2010), I got a PM from a person, asking a few things.
+ Show Spoiler [original message] +

My original reply was going to be rather short, but I realized about 15 minutes in that I was still typing and had more to say.
+ Show Spoiler [response] +

Guides
Because we can all use some help every now and then...

+ Show Spoiler [HTML, CSS, and JavaScript] +

+ Show Spoiler [PHP] +

+ Show Spoiler [MySQL] +

+ Show Spoiler [C++] +

+ Show Spoiler [Python] +

+ Show Spoiler [Java] +

+ Show Spoiler [NIX] +

+ Show Spoiler [OpenGL] +

+ Show Spoiler [General] +

+ Show Spoiler [Algorithms] +

People willing to help with stuff
mmp
tofucake
FaCE_1
Epsilon8
CrimsonWall
lozarian


On July 09 2010 03:24 mmp wrote:
Nehe's site is very good for getting started with OpenGL but his source is very amateur (he admits this) and shouldn't be copy-pasted verbatim. http://www.opengl.org/code/ and http://www.opengl.org/sdk/docs/man/ are good places to visit once you have a feel for the API.



Disclaimer

On July 09 2010 03:24 mmp wrote:
[E]ven if you understand the material presented in these sites, it does not qualify what you can learn in a 4-year college program or an internship with regards to design & architecture. Anyone can write bad code, but it takes experience and some peer oversight to develop serious programs. That said, learning the basics is so easy that any motivated TL member can be writing cool & useful programs.

Above quote slightly altered (typo+editing). Doing something fun and cool with any language usually doesn't require too much work. Doing something fun and cool and productive and useful and WELL can be extremely hard (and usually is). You will have problems with your code, it's just a part of being a programmer. Don't get frustrated over it.

+ Show Spoiler [Definitions] +
Last edit: 2013-02-25 22:21:38
kwark > i will mentor you if you wish, but i'm like the absent drunk father you never wanted
Old Post

 
 Sunhay   Canada. July 07 2010 22:03. Posts 303
Profile Blog # 
Not sure what will be discussed in this thread but it wont hurt to give it a try. I think I'll spend the night experimenting with Clojure, looks promising.
www.sunhay.net
Old Post

 
 Adeny   Norway. July 07 2010 22:06. Posts 1230
Profile Blog # 
I propose we discuss project euler and similar problems, help each other solve or optimize them and so on. Ofcourse using spoiler tags. Discuss resources for leaning, and coding standards/good practice. There's plenty to talk about.
Old Post

 
 aseq   Netherlands. July 07 2010 22:06. Posts 2913
Profile # 
There are too many languages to have in 1 thread. You need at least a couple of threads for the type of code (web, database, mathematical, 3d, etc). I could post some of my code here, but what's the point? Show funny code, get help, show examples?
Old Post

 
 Adeny   Norway. July 07 2010 22:08. Posts 1230
Profile Blog # 

On July 07 2010 22:06 aseq wrote:
There are too many languages to have in 1 thread. You need at least a couple of threads for the type of code (web, database, mathematical, 3d, etc). I could post some of my code here, but what's the point? Show funny code, get help, show examples?


They say versatility as far as languages go is a very good trait for programmers, I don't see how some exposure to other languages could hurt, as long as it's well commented and so on.
Old Post

  2Pacalypse-   Croatia. July 07 2010 22:09. Posts 4137Profile # 
I think this is too broad of a topic if we include all languages.
There should be a one post per programming language imo.
Personally, I would be interested/participating in C/ASM threads.

But good idea nonetheless and I think it's about damn time teamliquid got it's dedicated programming thread/s -.-
"We're a community of geniuses because we've found how to extract 95% of the feeling of doing something amazing without actually doing anything." - Chill
Old Post

  tofucake   United States. July 07 2010 22:10. Posts 11478Profile Blog # 
I know a bunch of languages, and there are plenty of things that are true for all languages (such as "ninjapants" being a bad function name if the function has nothing to to with ninjas or pants). I spose I could say "web languages only"...but that still catches all of .Net. If I said "only PHP" the thread would fill with hate (because very few actually know enough PHP to be good with it).

Anyway, well written code should be easily understood by any decent programmer, regardless of the language.
Last edit: 2010-07-07 22:11:30
kwark > i will mentor you if you wish, but i'm like the absent drunk father you never wanted
Old Post

 
 Adeny   Norway. July 07 2010 22:16. Posts 1230
Profile Blog # 
Cool function to find the amount of paths through a grid, from one corner to the other, without backtracking. Also solution to Project Euler 15, but I couldn't be bothered with bignums, so I ported it to python for the problem, but it illustrates the concept.

+ Show Spoiler +

Comments appreciated.

[image loading]
Last edit: 2010-07-07 22:35:42
Old Post

  CTStalker   Canada. July 07 2010 22:32. Posts 9665Profile Blog # 
it is too broad a topic. personally i find these "mega" threads to be useless. they become too large and often end up focused anyway on a random sub topic. i think our current treatment of programming discussion is fine. for example i've no interest in discussing or reading .NET, but a scheme/lisp blog i would find enjoyable.
By the way, my name is Funk. I am not of your world
Old Post

 
 Adeny   Norway. July 07 2010 22:37. Posts 1230
Profile Blog # 
Am I the only one who would like a go-to thread to ask questions rather than having to make a new thread?
Old Post

 
 Integra   Sweden. July 07 2010 22:38. Posts 4928
Profile Blog # 
"the programming thread?" what exactly do you mean by that, script language like HTML or machine code programming like assemble? This is going to be one broad discussions topic.
"Dark Pleasure"
Old Post

 
 haduken   Australia. July 07 2010 22:39. Posts 6896
Profile Blog # 
I'm very interested in how .NET people implement a good credential management system in a SQL server and clients setup. e.g. a login system with user name and passwords.

If someone would offer some tips on that, I would be very interested.
Rillanon.au
Old Post

  McDonalds   Liechtenstein. July 07 2010 22:43. Posts 2244Profile # 
You could have called it a scripting thread instead if you wanted to talk about things like PHP.
High five :---)
Old Post

 
 AcrossFiveJulys   United States. July 07 2010 22:50. Posts 3594
Profile Blog # 
This thread is a good idea. People can come in and ask questions/get help, and we can discuss anything related to programming.

Btw, if you guys like funny stories about working a coding job in industry, you should check out thedailywtf.
Old Post

  tofucake   United States. July 07 2010 23:03. Posts 11478Profile Blog # 

On July 07 2010 22:50 AcrossFiveJulys wrote:
Btw, if you guys like funny stories about working a coding job in industry, you should check out thedailywtf.

Like I said in my blog...I'm having trouble deciding what code to submit to CodeSOD. Anyway, having one place a person can come to ask a question is good. It cuts down on the number of threads that may be spawned. I'll be happy to start a Big Thread of Web Programming if you want, and I could also do Big Thread of Notweb Programming. But then there's also the Big Thread of Web and Notweb Combined Programming.
kwark > i will mentor you if you wish, but i'm like the absent drunk father you never wanted
Old Post

 
 ShinyGerbil   Canada. July 07 2010 23:05. Posts 510
Profile Blog # 
I think this thread has potential. I'd definitely be interested in reading/participating at least.
Also, I'd love to discuss some of the Project Euler (www.projecteuler.net) problems with some of you, as I've solved 120 of them to date (I'm ShinyGerbil on the site) but am having trouble with some of the more recent ones.
[s]savior[/s] jaedong fighting! // member of LighT eSports
Old Post

 
 imweakless   July 07 2010 23:10. Posts 649
Profile Blog # 
+ Show Spoiler +
i can see your good intention, but the way you start the "BIG" thread is kinda irrelevant.
anyway GL
KMK,Qri,GsD#1, UEE,stork jangbi for life!
Old Post

 
 ToT)OjKa(   United Kingdom. July 07 2010 23:17. Posts 2039
Profile Blog # 
Maybe op could gradually update with links of tutorials and good sites for all kinds of programming languages
OjKa OjKa OjKa!
Old Post

 
 AcrossFiveJulys   United States. July 07 2010 23:18. Posts 3594
Profile Blog # 
Oh sweet I didn't know about project euler. I think I'll devote some time to solving those problems to tune up my coding skills.
Old Post

  tofucake   United States. July 07 2010 23:19. Posts 11478Profile Blog # 

On July 07 2010 23:10 imweakless wrote:
+ Show Spoiler +
i can see your good intention, but the way you start the "BIG" thread is kinda irrelevant.
anyway GL
Pointless criticism.



On July 07 2010 23:17 ToT)OjKa( wrote:
Maybe op could gradually update with links of tutorials and good sites for all kinds of programming languages
Constructive criticism.

Not to sound like a jerk (too late), but let's try for #2 there, thanks ^^
kwark > i will mentor you if you wish, but i'm like the absent drunk father you never wanted
Old Post

1 2 3 4 5 6 7 8 9 10 11 100 200 296 297 298 299 300 301 302 303 304 305 306
Please log in or register to reply.
 
Refresh
StarCraft: Brood War
StarCraft 2
Dota 2
[ Show 94 non-featured ]

» Recent SC2 Results
» Premier SC2 Tournaments

The Little App Factory