pouët.net

Good tips n tricks to learn coding ?

category: code [glöplog]
No, writing a BASIC tutorial at age 12 is nothing to be proud of. I wrote an Assembler and a C tutorial at age 13. That is more adequate for the age. But these tutorials have not been translated to English and so they will probably not be helpful for SpeedTriple.
added on the 2011-05-14 19:44:49 by Adok Adok
Sometimes I wonder if you're just adorable or asking for a punch in the face ;)
added on the 2011-05-14 20:05:56 by superplek superplek
You have to admire his awesome irony skills though. Intended or not, they're world class.
added on the 2011-05-14 20:15:05 by psonice psonice
hmm, when i come to think of it, i knew basic when i was 12. actually i was around 9 or 10 when i first started coding basic on the c64.
added on the 2011-05-14 20:29:09 by rudi rudi
So did I but I had a PC... so I guess it's not worth anything unless you sported a nice mullet at the time.
added on the 2011-05-14 21:30:56 by superplek superplek
I wrote crunched exes with hex editor when I was 3. And wrote tutorials on it when I was 4. \o/
added on the 2011-05-14 21:34:58 by martin martin
I once met an Australian dude on the Internet who told me that he was already programming computers before he learned to speak...
added on the 2011-05-14 21:39:17 by Adok Adok
My father's semen was pure code and the ova which became me was made of pcb!
added on the 2011-05-14 21:40:28 by ringofyre ringofyre
Quote:
I once met an Australian dude on the Internet who told me that he was already programming computers before he learned to speak...

He was what us Aussies call "taking the piss" Adok - google it there may yet be something your mensa-mind does not know!
added on the 2011-05-14 21:42:20 by ringofyre ringofyre
@ op: Can I ask what being a systems engineer entails in 2011? I'm just a bit nonplussed at what the title means, coming from where knowing exact computer control was the norm.

OK, back on topic. The by far best starter language is Python. If you worry about which languages to learn first, put C, C++, and Objective-C at the very bottom of the list. Basically every other language is less harebrain of design, prone to bugs and easier to learn. I also like like the languages of Niklaus Wirth, since he cared about OOP. Apart from that, I like ARM assembler and of course 68000. :)

If you want to learn a language that will last, learn Javascript. HTML5/CSS3/Javascript will take you to a universal platform; compiled languages are no longer needed.
added on the 2011-05-14 21:46:05 by Photon Photon
That should be less prone to bugs*
added on the 2011-05-14 21:51:02 by Photon Photon
Im still in favor of starting coding in ASM, x86 or whatever. It sounds hardcore but its really simple to catch the basics and it teaches you some groundrules that apply in any higher language that you need to take into account. Thats how I did it anyway.
added on the 2011-05-14 22:01:35 by superplek superplek
i think you should couple up some transistors and resistors on a board and a transformator and just plug it into the outlet. make your own language. very easy.
added on the 2011-05-14 22:34:00 by rudi rudi
Well for fact I know it is :) So what's your next point? Logic is the name of the game.
added on the 2011-05-14 22:37:52 by superplek superplek
some stuff to learn before diving into assembly:
http://www.allaboutcircuits.com/vol_4/index.html
if ya wanna learn alittle about how hardware or low-level works.
so when you get to chapter 16: http://www.allaboutcircuits.com/vol_4/chpt_16/5.html gets you a little into microprocessors and machine-language (the father of assembly language)
superplek: it was meant for the author of this thread anyway :p
added on the 2011-05-14 23:07:34 by rudi rudi
@SpeedTriple: i think you should define what you want to program first! Then find the right tool for it...

Here is a list of languages i used and what i use them for, in order of appearance:
(Every advice given is naturally biased by the advisor's experience).

BASIC: first steps in programming and simple tests. On the Archimedes i made some tools in Basic.

68k, ARM, 80x86, 6502 assemblers: demos on older platforms (ST, 386, Archimedes, RiscPC) ! Remember that 6502 and 80x86 gives headaches when you have known 68k or ARM. The latter is the processor with the most elegant instruction set! Assembly languages makes you feel you control everything, but you must spend a lot of time to master it and writing a program takes much longer. It probably helps with the concepts of pointers/variables.

C: tools without GUI, such as compressors, preprocessors for LaTeX, heavy computation of all possible chess games, etc... Everything controlled by command line.

Others will probably give you the good advices if what you want is making up to date demos (C+OpenGL?) where one of the main goal shall be speed and beauty. Probably the answer is different if you want to make games (compatibility is the major issue?) or tools (C will do).

Unlike Photon i would put C quite high in the list because you'll find it everywhere, you'll even recognize its syntax in many more recent languages (also it's true i don't give a shit about OOP since none of my projects is big enough for that).
added on the 2011-05-14 23:14:23 by baah baah
it really depends on what you want to code, how complex you wanna go and what direction you take. there are different languages for different tasks because some languages lacked what others could offer. none has proven to be the best for every situation. what is important is to learn to use a language the right way.
starting off learning assembly is a bottom to top approach and it takes much longer to achieve the same result as in a high level language. thats why asm routines are only used when the compiler cant produce optimal results and speed is important, which for many reasons is often not the case, especially when you are a beginner. c is reasonably close to asm to beginn with, few abstraction from the hardware. c++ is a powerfull monster.
python is a good recommendation i think, since it was taught in a systems programming class at my uni.
actually it doesnt matter too much, what language you choose. skills taught in programming one language can be helpfull in another one (or misleading:)) and you will learn different ones, eventually. instead of reading these tips you should be reading a book. if you wanted to code i.e. demos, maths are inevitable.
added on the 2011-05-14 23:50:34 by vectory vectory
math comes quickly but whatever you do, you cant stop falling... oohooo-hoohoo-ohooo.
added on the 2011-05-15 01:16:16 by superplek superplek
a pointer is actually not a variable you can use for anything except pointing to a location in memory, usually the first byte of a larger array of bytes (for example the first letter of a string). so the pointer contains the address of some byte/variable and not the variable itself. you can get the byte/variable by reading from the address (that the pointer points too).
for example: char var = *p; the asterisk tells that you read from the address that is in pointer p. so var gets the first byte of that address. p is equal to some address in memory.

if you have a table of bytes, something like this: char table[8]={1,2,3,4,5,6,7,8};
and you want to have access too it via a pointer you can do this:

Code:char *p = table;

if you wanna see the addresses while moving the pointer so you can go though all the elements in the array(table):
Code:for (int i=0; i<8; i++) printf("Address: %i\tValue: %i\n", p, *p++);


even table is a pointer to table, but you can't increment the table array of its own or you'll get a compilation error. you'll need to make a pointer that points to that part of the memory. hence *p = table; not table++.

and memory is organized in a linear-fashion (correct me if im wrong someone :P). you can even have pointer to pointers, but that would probably just confuse more.
added on the 2011-05-15 01:31:58 by rudi rudi
That's not adding to the discussion plek. You shouldn't be so divisive, it subtracts from the conversation and multiplies the amount of trolling! ;)
added on the 2011-05-15 01:57:36 by ringofyre ringofyre
I don't really have anything to prove here for starters and apart from the joke left and right I'm telling my truth. And just to be a fucker.. it's ++iterator and not iterator++ in that situation Rudi, just for kicks :)
added on the 2011-05-15 02:12:16 by superplek superplek
Here is a nice example of what they're trying to say :p

Also, this page is great to keep in mind. (Especially that part that says "Expressions like the one above must be avoided." [@plek])
added on the 2011-05-15 02:41:27 by shuffle2 shuffle2
Quote:
thanks for your message, i'll take a look at this langage, but it seems i can't create exe's ? it's just java applets ?


You can create "executables" for windows, linux and OSX (and Android, with the latest version) http://wiki.processing.org/w/Export_Info_and_Tips#Application_Export

added on the 2011-05-15 03:23:52 by bdk bdk
Hi Olivier. here's my 2 cents: first learn ASM (ARM has a nice ISA).
Then head on to C (think of it as machine independent assembly).
Disassemble your C programs to see how they translate to ASM.
Next step are the very high level (VHL) languages (mostly useful
for throw-away code / utilities / UI coding) (like Python, TKS, ..)

Always use the right language for the task at hand:

ASM for HW-dependent "inner loops"
C for portable, yet time critical non-UI code
(and C++ for more complex OO-style code bases)
VHL languages (mixed with ASM/C/C++) for large projects

Last but not least, don't hesitate to ask questions if you get
stuck but remember that most of the answers are already there
on the mighty tubes (the WWW)

Good luck!
added on the 2011-05-15 04:29:21 by xyz xyz
photon: in the area that i circle there are a multitude of titles for coders - systems engineer, system developer, developer, programmer, code ninja, etc. they all pretty much cover the same ground - e.g. writing or fixing code.

i bet the "engineer" part of the title says something about the origin of the company, e.g. that the founder or the first coder had an engineer education.

login