View Full Version : Coding: Where do i start?
master_lfs.5101
25th July 2008, 02:27
I need help with c#! Where do I start learning? lol
rc10racer
25th July 2008, 04:24
Here?
I need help with c#! Where do I start learning? lol
Do you have ANY coding experience at all or are you new to it. If you are new a Dummies book is your best bet.
A quick word of warning. Be prepared to read a LOT of information before you can really do ANYTHING at all. You need to have the right sort of brain for development as well or you are in for a world of pain. You need to be good at lateral thinking, like more abstract types of maths (formula based etc)
If you get problems be prepared to step away and leave the code to read and re-read more books. You see many people here trying to learn and they end up asking for help on every tiny problem. In reality you need to actually understand what you are doing or you will not be able to do anything.
Finally remember that some bugs will not even be in places anywhere near where the code finally goes bang
Have fun
:)
Rooble
25th July 2008, 18:14
Don't bother, its all a pain in the ass anyway :razz:
I've decided to give C++ a proper go and see where it takes me and so far I've built one tool and its been frustrating the whole way.
Google for C# tutorials, I'm sure there are like a million and one, also download source and just try and work it out, most of it has loads of comments that explain everything nicely anyway.
Good luck!
I also downloaded the DirectX SDK to try and help me create something that will allow me look behind when I press both of the G25 red buttons, turns out that the input is only picked up when the window is actually active. :(
of the languages ive used so far id recommend Java, the syntax is pretty much identicle to C but doing higher level things with it are made MUCH easier.
i agree with the dummies book, i started with the C++ book and it couldnt have made it any easier. literally a dummy could have used it :P
JamesF1
25th July 2008, 22:26
Oh please, don't get me started on Java's shortcomings as a language...
MR_B
25th July 2008, 23:06
Oh please, don't get me started on Java's shortcomings as a language...
-
DarkTimes
25th July 2008, 23:11
of the languages ive used so far id recommend Java, the syntax is pretty much identicle to C but doing higher level things with it are made MUCH easier.
I'd have said it was the other way round to be honest, but I guess it's apples and pears. In my limited mind, C# is better designed, has better tools, better support, and most importantly, a more promising future. Aside from cross-platform support, I'd struggle to think of anything Java actually does better. But hey, both have their good points and both have their flaws. Probably just down to personal taste.
Edit: Sorry, it's late at night and I'm kinda drunk, I thought you were comparing Java to C#, but you weren't. Still, I'm right about the Java vs C# thing, so I leave my post unmolested.
Dygear
26th July 2008, 05:55
-
I really recommend people click on that post, as it's funny as shit!
Oh please, don't get me started on Java's shortcomings as a language...
Or as a general concept! I hated Java when I took computer programming at school! I hated the long names for everything!
language.java.sucks.toScreen.wait(5); // Returns TRUE after 5 seconds
Yes, I know you could alias that, but still why?
JamesF1
26th July 2008, 08:12
-
Be honest, you were dying to use that image in a post, weren't you? :D
On-topic, though, even though DarkTimes was drunk, I'd agree with him - C# is a far superior language to Java... and if you code carefully (granted, you're all but forced into making GTK interfaces), it'll run cross-platform adequately using Mono.
im not comparing the two languages! all i was saying was its far easier to do higher level work in Java (due to its OO nature and libraries) than it is in C++ - which is the only C variant ive used. anybody care to disagree with that?
JamesF1
26th July 2008, 09:06
Yes. C++ is also an OO language (though, not entirely in the strictest sense - but it's OO-supportive), and also has libraries... in addition, it's a mid-level language, combining both high-level and low-level aspects. As it can do the same as Java, your point of Java being 'easier' is moot... as it's a point of view.
There we go, both of your points are at least matched, without going into any further detail (and we could go from syntax, to function naming, to execution times, to memory footprints...).
Java isn't the most appalling example of a programming language that I've ever seen, but it's remarkably close - and there are a decent number of languages that are just plainly superior to it. Coming from several years of (somewhat forced) experience with Java, and many optional years of experience with many other languages, I can say that without making huge assumptions. Java is horrid - and I have to stop myself from launching into a large rant (which I'm sure I've posted somewhere in this forum before) about how inadequate it is as a language.
ForceMagic
30th July 2008, 05:29
I need help with c#! Where do I start learning? lol
DLFSS is the perfect project for you.
First you will learn C#.
Second you probably love LFS so it's a good motivation :)
http://www.lfsforum.net/showthread.php?t=46428
Greenseed
30th July 2008, 22:07
master_lfs.5101 (http://www.lfsforum.net/member.php?u=187217), i will say as Forcemagic told you , come see DLFSS Project, who is openSource and as primary goal! meet new Commer! and Learn, and is c# as you requested first!
To comment other post into this Thread! did you really intend to help the author of this thread! or start a fight on witch girl is the more beautiful?
Chosing a Coding Language, is a personal question.
So, no Wrong no Good.
If you feel Joy, inside, that mean this is your Truly you!
On this i really hope! you start somewhere, master_lfs.5101 and don't be discouraged, the begin is sometime very confusing! but with the time, all will go in place!
(http://www.lfsforum.net/member.php?u=187217)
JamesF1
31st July 2008, 12:01
Personally, I would advise against using an in-development project to learn a language. You need to learn from tried-and-tested code from 'experts' (though, that term is hard to define), rather than using just anybody's code - that's how you develop bad practices.
No offence intended, Greenseed.
Greenseed
1st August 2008, 00:09
What ever!
When your tired of searching...
Im free to help you with the best i can gave! on DLFSS Project :)
JamesF1, i see no ofence, at the moment you taked the time to really look at my work, and that answer is == to your opinion!
P.S. i learned codding with: www.mangosproject.org and was the best thing ever for me! a in-developement project ;) so as i say before no good no wrong really depend on the person!
And totaly agree with: JamesF1 starting with some more experienced then you is far then good for all the question you may have!
Will you have a bad style or good , cause your teacher, in the beggin for sure! but when you start thinking on your own! maybe you will learn to the teacher!
Do we have make the circle around that question... i really don't think so haha! :) But me i think i have! so on this! hope you, start some where!
And other :) see ya into another thread!
P.S. when im reading my post, i look cold.. but english is not well know by me! so im limited the way i presente my view! hope you understand!
joe9380
4th August 2008, 15:15
that reminds me. I used to have a book named Beginning Visual C# Express.
This book actually quite helped me.
ahh... found it :D
its quite food, it tells you simple program programming and may help in what you need. I think there's also an advanced book buy i highly recommend it.
http://www.lsl.com.au/images/images-ref/beginning-visual-cs-express.jpg - beginer
master_lfs.5101
4th August 2008, 18:45
hmm. will the touririals that microsoft provides in the visual studio c# 2008 edition help me at all? or not? I really need to begin righting insim.
joe9380
4th August 2008, 20:05
i'm not too sure if it covers exactly what you need, but it covers the basics of C# of which you'll probably most need when codin InSim :D
All i can say is, good luck!
george_tsiros
5th August 2008, 08:24
javascript.
i'm not shitting you.
JamesF1
5th August 2008, 10:39
JavaScript is an absolutely terrible place to start learning. Why on Earth would you go for an incredibly limited, inconsistent, scripting language as your starting point!? The mind boggles. JS is a perfectly valid solution for various client-side additions to web interfaces, but it's not a good place to start with programming - especially as it's dynamic and weakly-typed (not to mention that a polymorphic language is a terrible way to learn).
george_tsiros
5th August 2008, 16:58
because you don't have to download NOTHING to start coding, you can see results from the first line (important when you cut your teeth at something), it is OS agnostic, it is documented like hell, it is used everywhere, is flexible, practical and if you tie it to this (http://ejohn.org/blog/processingjs/), it gets even more interesting.
ForceMagic
5th August 2008, 17:01
JavaScript is an absolutely terrible place to start learning. Why on Earth would you go for an incredibly limited, inconsistent, scripting language as your starting point!? The mind boggles. JS is a perfectly valid solution for various client-side additions to web interfaces, but it's not a good place to start with programming - especially as it's dynamic and weakly-typed (not to mention that a polymorphic language is a terrible way to learn).
lol, so what do u suggest to him for start learning ? :scratchch
Personnaly I think each language is a good start, there are something to learn in each of them. Anyway, the important thing is to learn how to code, the language doesn't have a so important part in the decision. When you know coding you can use every languages.
JamesF1
5th August 2008, 23:00
because you don't have to download NOTHING to start coding, you can see results from the first line (important when you cut your teeth at something), it is OS agnostic, it is documented like hell, it is used everywhere, is flexible, practical and if you tie it to this (http://ejohn.org/blog/processingjs/), it gets even more interesting.
None of those even begin to compete with the fundamental problems with using it as a first language, that I mentioned above. As for Processing.js, you do realise that's just a port of Processing itself - and is, therefore, an entirely moot point, rather than a benefit to learning JavaScript?
lol, so what do u suggest to him for start learning ? :scratchch
If you care to read my earlier posts in this thread, you'll find out ;)
Anyway, the important thing is to learn how to code, the language doesn't have a so important part in the decision. When you know coding you can use every languages.
Wow... two incredibly incorrect statements there. All languages are not equal - some encourage sloppy coding style, and give a false impression of what programming actually is, whilst others promote good structure, readability and encourage useful, functional thinking.
In addition, just because you understand one language, doesn't mean you can understand others more easily - only languages derived from the same root (and, even then, the subtle differences may cause huge confusion, rather than be of benefit). For example, show me how learning C# would benefit you when learning PROLOG... if anything it's a hindrance (speaking from experience, here). As an example of the other point, learning C doesn't make you any good at C++ and, in fact, may prove detrimental to a first-time programmer.
If the programmer doesn't first understand the basis, theory and structure of the language they're starting out with, they have no hope elsewhere - but, just because they understand it, doesn't mean they have all languages figured out. That would be like saying that English is a Latin-derived language, and Italian is a Latin-derived language... so, because I can speak English, I can speak Italian. It just doesn't work like that. Likewise, from experience of speaking three Germanic languages (Afrikaans, Dutch and German), there is definitely a hinderance to be found in similar languages when there aspects are only subtly different (the majorly different aspects aren't that much of a problem).
I still lose track of the number of times I go to use malloc in C++, instead of new in certain circumstances...
george_tsiros
5th August 2008, 23:16
None of those even begin to compete with the fundamental problems with using it as a first language, that I mentioned above. As for Processing.js, you do realise that's just a port of Processing itself - and is, therefore, an entirely moot point, rather than a benefit to learning JavaScript?
did i say Processing is exclusive to js, therefore js has an advantage over other languages, solely because of Processing?
i will skip most of your post (its not a rant. i am ranting, though). you have a beginner in front of you. do you really want to put him through the minced meat machine that is the learning of subtle programming issues... like... the difference between declaration and definition?
i consider a beginner like someone who still can't see what's the point of programming. what does it mean to 'program' ?
anyway i am not going to even try and prove why js is a good choice to start learning programming. you seem to have greater technical knowledge on the matter of programming than i do, but you need to consider that you have someone with very little knowledge in front of you. if he cant see an immediate result of the small examples that you give him, he will lose interest. if he has to spend line after line after line, defining classes (objects if you are pascal guy), instantiating them, callocing stuff, juggling pointers and learning about the 100 different APIs below your code without even getting to the nitty gritty of what does it all equate to... you've lost him.
if learning a language is as you present it, just shove k&r in his hands and spit 'read' in his face. or worse, the x86 ISA reference
i don't think it works that way
much like when you start learning racing you don't jump in the sauber. you start with the UF1. on a parking lot. alone.
JamesF1
5th August 2008, 23:37
you have a beginner in front of you. do you really want to put him through the minced meat machine that is the learning of subtle programming issues... like... the difference between declaration and definition?
True enough :) That said, it's always easier to learn fundamentals (no matter how boring) at the start, rather than after you've already developed habits. Well-grounded fundamentals will not only help to prevent you from developing bad habits, but will also significantly aid your ability to pick up other languages later on, by appreciating the differences in their fundamental structure.
if he has to spend line after line after line, defining classes (objects if you are pascal guy), instantiating them, callocing stuff, juggling pointers and learning about the 100 different APIs below your code without even getting to the nitty gritty of what does it all equate to... you've lost him.
Very, very true - and I can see why you've made your case for JS in this case, but I still disagree that it's the most viable way to get quick results as, often, it is combined with HTML, requiring the user to understand that, and the interactions and boundaries between the two. Something like C#, for example, is relatively quick to develop with, you can get quick results (either with command-line programs *or* with a visual UI developer). "Quick results" often depends on teaching. Someone (or some document) which teaches well, will give the learner the opportunity to see results quickly.
much like when you start learning racing you don't jump in the sauber. you start with the UF1. on a parking lot. alone.
But you still have to learn the basic principles - such as braking, accelerating, traction, understeer and oversteer... or you're just going to end up spinning off into walls all day. I'm not saying he has to go hardcore straight away, but it is important to have something that covers the fundamentals. Otherwise it's like learning how to drive the BF1 in LFS with a wheel by starting out with playing NFS on your keyboard... it's a slight resemblance, but nothing that's going to give you much benefit.
Of course, this is all just my opinion :razz:
DarkTimes
6th August 2008, 05:25
whilst others promote good structure, readability and encourage useful, functional thinking.
Python! :D
ForceMagic
6th August 2008, 06:11
Wow... two incredibly incorrect statements there. All languages are not equal - some encourage sloppy coding style, and give a false impression of what programming actually is, whilst others promote good structure, readability and encourage useful, functional thinking.
I never said that all languages are equals. Maybe you misunderstand me because of my bad english, my fault, anyway for my part each coding experience I get in any language I learn helped me in others. The principle of coding stay the same, a if will stay a if in every language only the syntax will change.
Bob Smith
6th August 2008, 07:40
Exactly, the first tme you learn a language, you are both learning the language, and how to program. The second time, you are only learning an extra language.
Another example is typing, you are learning to coordinate your fingers, and learn the key patterns. When I switched from a qwerty layout to the Dvorak layout, I just had to learn the new key patterns, and I was away. I could already type, I just couldn't find the keys, if that makes any sense.
george_tsiros
6th August 2008, 07:40
I never said that all languages are equals. Maybe you misunderstand me because of my bad english, my fault, anyway for my part each coding experience I get in any language I learn helped me in others. The principle of coding stay the same, a if will stay a if in every language only the syntax will change.
hummm will you be insulted if i say that your coding experience is lacking? :tilt:
what you say is true only if one stays within the set of imperative languages... that is, the languages that are of the type:
command 1
command 2
command 3
and they run the commands in strict succession (ok we will ignore out-of-order execution in the processor for now :schwitz:it isn't relevant anyway)
there are other languages... like... Haskell. in that language, no matter how advanced you are with C or even assembler, you're still a n00b.
james: you now see that even though js has serious shortcomings, you can not easily dismiss it as a teaching tool for the absolute beginner. i will add one more thing: you can still teach to a beginner some fundamental and important programming practices even though the language does not force you to.
about the basic principles... do you really think you can avoid learning the fundamentals of programming if you learn js? you still have to understand what variables are... you still have to learn what flow control is... those are the things i think are important for someone who doesn't know programming.
JamesF1
6th August 2008, 09:05
about the basic principles... do you really think you can avoid learning the fundamentals of programming if you learn js? you still have to understand what variables are... you still have to learn what flow control is... those are the things i think are important for someone who doesn't know programming.
I wasn't saying that all the basics are lacking, just some, if you wish to progress onto other C-derived languages (which seems to be very much the trend... C, C++, C#, Java, Python, the list goes on). Of course, it can serve as a good starting point, as long as it is made abundantly clear at the beginning (i.e. to the learner) that this is not 'how to program' this is simply an introduction with a very limited featureset, and there are more 'basics' that will need to be learned when moving onto a more complex language.
I guess I'm heavily biased, because of how I started learning... I found jumping in at the 'deep end' (so to speak) was a good way to start learning, as long as you had the desire to actually work at it. I'm often a little biased against the 'casual coder' who waltzes into an easy language, does bits, and as soon as it gets too difficult, gives up - I feel the easiest way to see if you're: a) cut out for it and; b) willing to do it, is to start with a language like C or C++, and see how far you get. I'm not saying that's the "best" way to do it, but I am saying that's how *I'd* do it, if I had the chance to start over again.
george_tsiros
6th August 2008, 09:30
how about... showing someone js for a start, just so he can focus on what does a=5; mean and why a=1; b=2; c=a+b; b=1; print c; does not result in 2. and after he has understood this we can move to more... subtle issues :)... like... why
for(i=0;i<320;i++) for (j=0;j<240;j++) write a byte to video memory;
is slower than
for(i=0;i<240;i++) for (j=0;j<320;j++) :razz:
it's not that you will do all the learning on js. only the beginning. what are variables, why do we have datatypes (even though everything is bytes), what is an array, why we have conditionals.. blah.
just as i said, the very basics.
gone are the days when you could get from 0 to programming mastery using a single tool (turbo pascal) *sigh* :shrug:
ForceMagic
6th August 2008, 19:36
hummm will you be insulted if i say that your coding experience is lacking? :tilt:
No haha but I'm surprised you analyzed my coding experience with my post instead of my coding style.
At least Bob Smith understood what I said.
baSh0r
6th August 2008, 19:49
I've decided to give C++ a proper go and see where it takes me and so far I've built one tool and its been frustrating the whole way.
and we all know for what you need c++ for :>
george_tsiros
6th August 2008, 21:09
The principle of coding stay the same, a if will stay a if in every language only the syntax will change.
i did not analyze anything. i do not know what Bob understood. what you say here is just plain wrong. do i really have to actually point to why, exactly?
ForceMagic
6th August 2008, 22:02
i did not analyze anything. i do not know what Bob understood. what you say here is just plain wrong. do i really have to actually point to why, exactly?
I should said "in most" language I guess.
What I tried to said is he could begin with C, C++, VB.net, C#, Java, Javascript or any of oriented object language and it will help him further anyway.
george_tsiros
6th August 2008, 22:32
it's not a matter of 'most' languages. here you go (http://en.wikipedia.org/wiki/Programming_paradigm#Examples)
ForceMagic
7th August 2008, 00:03
If he don't do that just for fun. I mean to get a job in the futur, I will suggest him one of the most used language of his choice.
Tiobe Index (http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html)
Woz
7th August 2008, 05:43
If he don't do that just for fun. I mean to get a job in the futur, I will suggest him one of the most used language of his choice.
Tiobe Index (http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html)
Even in the C based languages there are large differences depending on if generics are supported. Generics really change your whole mindset, it is NOT a subtle change
george_tsiros
7th August 2008, 08:20
reboot is right though. the most effort is done when you first learn your first language. a second language even if it is a completely different school of thought, is easier to understand.
JamesF1
7th August 2008, 09:22
reboot is right though. the most effort is done when you first learn your first language. a second language even if it is a completely different school of thought, is easier to understand.
I'd disagree with that statement, to be honest, from my experience. I found the only thing that helped me with the change from imperative to logic programming was knowledge of predicate logic - if anything, imperative programming 'tendencies' hindered my progress.
george_tsiros
7th August 2008, 12:23
I'd disagree with that statement, to be honest, from my experience. I found the only thing that helped me with the change from imperative to logic programming was knowledge of predicate logic - if anything, imperative programming 'tendencies' hindered my progress.
i said easier. not easy. when do you think you can learn programming haskell easier: if you have never written a single line of code in your life, or if you have learned imperative coding, in any language?
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.