ohithur again everyone
over the past few weeks that i've been working i have also been saving to buy a computer of my own(so i can teach myself some USEFUL programming languages) and i met a wonderful man with a garage he has converted to a machine shop(he builds his own remote control aeroplanes(among other things) out of scrap parts) who said he is willing to lend me his assets. my questions? if i wanted to prepare myself for a career in some sort of robotics field:

a. what programming languages could i realistically teach myself between a month or two from now and the end of next summer(assuming I have time to work nearly every night) that would be helpful?

b. what would be some good, beginner projects for improving my “skills” with electronics(i've taken a physics course and have some limited hands-on experience as well)

c. what would be the best course of action to take in college(both major wise and research lab/intern wise)

i know it's ridiculously late in the game to be starting this kind of thing(senior year Neutral ), but my environment over the past few years has been somewhat less than helpful(a school where i do nothing but write essays about things like the bible and the illiad and a household which despises all things electronic).
a. I feel like something like C or C++ would be a great place to start to get you up to the speed with the basics of computer programming. Anyone agree or disagree?

b. Take a bunch of resistors and LEDs. I assume you can already light them up. Toss in some transistors. Built a CALCnet2.2 hub with transistors and LEDs and understand how it works? I have a ton of kits with some useful beginner, advanced, and intermediate circuits to build that are both educational and fun.
KermMartian wrote:
a. I feel like something like C or C++ would be a great place to start to get you up to the speed with the basics of computer programming. Anyone agree or disagree?

I strongly disagree, and would say that Python or C# are far better languages to start with as you will be able to spend more time learning to program rather than learning a language. C and C++ are quite unforgiving (the programmer is always right) and fiddly (e.g. the arcane compilation model), whereas Python or C# are easy to use and are quick to point out potential mistakes, whilst being perfectly competent languages in their own right.

If you're likely to move into the world of microcontrollers then chances are you'd be using C for that, so a "curly brace" language (e.g. C#) may be more useful to learn in the short term. Python, however, is generally friendlier to beginners than C# (less boilerplate code in a new program, no intimidating Visual Studio). You may need to toss a coin.
Don't use C# or you will be dependent on Microsoft. My suggestions are C/C++ and Python. I find C to be easier than C++.
souvik1997 wrote:
Don't use C# or you will be dependent on Microsoft.

Not true. The most obvious example is Mono, though if you want to develop your own implementation you can use the C# Language and Common Language Infrastructure specifications. As far as I'm aware GNOME ships with a few pieces of software developed in C#.

C and C++ are not the same language. Learn one or the other (I'd recommend C if you absolutely had to), but mixing them yields the hybrid language "C/C++", a perilous mix of C with classes.
I agree with Ben on this one. Starting with a language where you have to muck around in the syntax and environment isn't the best way to really learn. Python is a very nice language to start with, and it's relatively easy to pick up another language from it. At my college the professors were trying a thing where the first semester was Python, and the second semester was half Python half C++. The students picked up C++ pretty quickly and by the time they finished that course, they were right on track with previous years.
C# is also a nice start, though has some trickier syntax for a beginner.
Meh, fine, I'll toe the party line and revise my original suggestion to (1) Learn Python, (2) Learn C++.
I didn't know about Mono, thanks for telling me.

As for the term C/C++, I meant either C or C++
souvik1997 wrote:
I didn't know about Mono, thanks for telling me.

As for the term C/C++, I meant either C or C++
I can't decide which one to recommend more. I feel like C for microcontroller development, from which he can progress to C++, but there's also some merit to learning the OOP properties of C++ first if you started with Python.
I'd still reckon you'd be better off learning curly-braced-OOP in a C# or Java rather than C++. As the saying goes, "C++ is an octopus made by nailing extra legs onto a dog". Wink C, whilst not desperately pleasant to work in, is at least relatively simple.
benryves wrote:
I'd still reckon you'd be better off learning curly-braced-OOP in a C# or Java rather than C++. As the saying goes, "C++ is an octopus made by nailing extra legs onto a dog". Wink C, whilst not desperately pleasant to work in, is at least relatively simple.
Yeah, but Java is an octopus-dog hybrid that runs on any surface, but always slower than the legs-nailed-to-dog can run.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement