maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   General (https://talk.maemo.org/forumdisplay.php?f=7)
-   -   C++ is it right for you, and how did you know? (https://talk.maemo.org/showthread.php?t=57274)

coderedcomputing 2010-06-27 15:47

C++ is it right for you, and how did you know?
 
Do you code in C++? Do you know C++?

I'm about to return to school, and seriously looking into getting another degree but this time in CompSci and looking at C++ as my focus.

Problem is, I've only dabbled at coding, never seriously wrote anything, or ever fully loaded anything into a compiler, let alone tried to debug anything.

How would one determine if coding is right for you? If you found out, how did you learn that it was the thing for you?

Marcus 2010-06-27 15:56

Re: C++ is it right for you, and how did you know?
 
Personally I just enjoy writing in C++. The structure of the language is nice and easy. And with G++ as compiler, it isn't hard to compile.

Nathraiben 2010-06-27 16:09

Re: C++ is it right for you, and how did you know?
 
Any chance you could first give it a try with other languages? I know lots of people would swear by C++, but from all the scripting and programming languages I learned (and that's quite a couple) I found C++ to be the least intuitive, least elegant and least easy to learn.

Not trying to say you shouldn't learn C++ (it's what most companies are looking for, after all), but getting into a more comfortable language first might help keeping your long-term motivation.
(And makes you more versatile on the market, too.)

clasificado 2010-06-27 17:34

Re: C++ is it right for you, and how did you know?
 
every programmer knows several programming languages. the experienced ones can count several dozens.

c++ is only one. usually its not the language you choose by itself, but the technical posibilities of each one what determines your choice.

thats why c++ is not an absolute choice. even if you choose, you need to learn a lot more

Optln 2010-06-27 17:51

Re: C++ is it right for you, and how did you know?
 
It depends what do you want to code for. I enjoy programming games, it will probably become my job when I start working. And because computer graphics is one of the most performance oriented branches of computer science, I had no other options(C is capable for CG too of course but C++ is almost the industry's standard).

It is a great language. Has a perfect balance between performance and usability. And since MeeGo will be QT oriented, if you want to code for it, you should definitely know at least an entrance level of C++.

vivainio 2010-06-27 17:52

Re: C++ is it right for you, and how did you know?
 
Quote:

Originally Posted by coderedcomputing (Post 731499)
I'm about to return to school, and seriously looking into getting another degree but this time in CompSci and looking at C++ as my focus.

University & computer science is waste of time if you just want to start programming. You learn it by doing, not sitting at school listening to guys talking about doing it.

johnel 2010-06-27 17:58

Re: C++ is it right for you, and how did you know?
 
Quote:

How would one determine if coding is right for you? If you found out, how did you learn that it was the thing for you?
When you stay up until 3am in the morning getting your program to work and writing "just one more function".

Debugging your program and making it finally work makes you feel like you can do anything and feeling insanely happy about a couple of line of code.

Just give it a go - you'll find out very quickly if you like coding!

wmarone 2010-06-27 17:59

Re: C++ is it right for you, and how did you know?
 
Quote:

Originally Posted by vivainio (Post 731675)
University & computer science is waste of time if you just want to start programming. You learn it by doing, not sitting at school listening to guys talking about doing it.

Slinging code without understanding what's going on can lead you into more than a few traps. If you can get an understanding on your own, more power to you. But actually studying it works better for most people.

nhanquy 2010-06-27 17:59

Re: C++ is it right for you, and how did you know?
 
Quote:

Originally Posted by vivainio (Post 731675)
University & computer science is waste of time if you just want to start programming. You learn it by doing, not sitting at school listening to guys talking about doing it.

I'd not go to say that far out. Programming is not exactly science but at least 80% science.
You don't know data structure, OS, compiler theories,... how do you program? Schools help you with that. Programming languages reflect ways of thinking. Some prefers procedural, some not.

To me, common sense helps you the most. You have to know anything exists because there is a reason behind. Go to school, learn, and practice.

Venemo 2010-06-27 18:18

Re: C++ is it right for you, and how did you know?
 
I was learning electronic engineering at university (I haven't finished it yet), and we had a semester in both C and C++.

Although I have used C# before, they are not bad either.

C is very close to the hardware, and C++ adds many features to C. (Most notably, OOP.)
C is rather easy, but C++ is not really. Still, it is one of the most efficient languages on the planet, and is the basis of many other modern object-oriented languages.

If you learn C++, it will be most likely very easy to learn any other OOP languages afterwards.

mmurfin87 2010-06-27 19:04

Re: C++ is it right for you, and how did you know?
 
C++ is just a language. Once you know one or two, you know them all with very little effort.

You can sit down and with a few google searches you can program in any new language in just a couple hours.

wmarone is correct though, that "programming" is 1/10th the work that actually goes on. Software engineering/architecture is another 60%. Probably the last 30% is spent researching and formulating solutions to problems.

bugelrex 2010-06-27 19:29

Re: C++ is it right for you, and how did you know?
 
Quote:

Originally Posted by coderedcomputing (Post 731499)
Do you code in C++? Do you know C++?

I'm about to return to school, and seriously looking into getting another degree but this time in CompSci and looking at C++ as my focus.

Problem is, I've only dabbled at coding, never seriously wrote anything, or ever fully loaded anything into a compiler, let alone tried to debug anything.

How would one determine if coding is right for you? If you found out, how did you learn that it was the thing for you?

For an absolute beginner who is serious, definitely recommend Java first. Once you write several program on your own, if you still need a challenge continue to C++.

Also the majority of companies have moved to Java for new projects except those which require maximum performance/minimum memory.

Optln 2010-06-27 19:30

Re: C++ is it right for you, and how did you know?
 
Quote:

Originally Posted by nhanquy (Post 731683)
I'd not go to say that far out. Programming is not exactly science but at least 80% science.
You don't know data structure, OS, compiler theories,... how do you program? Schools help you with that. Programming languages reflect ways of thinking. Some prefers procedural, some not.

To me, common sense helps you the most. You have to know anything exists because there is a reason behind. Go to school, learn, and practice.

There are books for them too :) I actually learn better from reading books and exercising myself than listening to someone. But if anyone likes the latter more, Internet provides amazing solutions for them. Like:
http://webcast.berkeley.edu/
http://ocw.mit.edu/courses/#electric...mputer-science
http://www.youtube.com/view_play_lis...2A527F83F7A5E4

devu 2010-06-27 19:35

Re: C++ is it right for you, and how did you know?
 
Quote:

Originally Posted by mmurfin87 (Post 731780)
C++ is just a language. Once you know one or two, you know them all with very little effort.

You can sit down and with a few google searches you can program in any new language in just a couple hours.

wmarone is correct though, that "programming" is 1/10th the work that actually goes on. Software engineering/architecture is another 60%. Probably the last 30% is spent researching and formulating solutions to problems.

If I can agree to your first part i can't to second.

Programming in 90% is the art of problem solving, 10% trying to avoid them but language is just a language :)

If you don't have soul of inventor you can learn any language but will never become Shakespeare, at least become programmer that typing in boring lines because you have learn them at school, because somebody else fund a solution to the problem. Same way as you can learn how to hold a pencil and draw some lines but is long way to become Picasso.

You have to answer the key question to yourself.
Do you like just type in some lines? Or just create your own, find new method, solution. The reality is like that. Schools mostly producing programmers, teaching you what and how to, closing your mind as well telling you what is good or not. If you have a passion you can call slip away this process and call yourself developer. But if you really has this passion you don't have to.

smoku 2010-06-27 19:36

Re: C++ is it right for you, and how did you know?
 
When you want to learn programming the language does not really matter. You need to be proficient in creating data structures describing the problem set and algorithmic patterns that work with those structures. The actual language is then selected to the requirements - which is a best tool to do the job.

Saying that, I need to mention that C/C++ is the granddady of most current structural languages. So if you know C++ you will learn Java, C#, Perl, PHP, etc. very quickly.

My opinion is that you should learn at least one structural programming language (C-like), one functional programming language (Scheme dialect) and one scripting programming language (possibly with duck-typing); at school. You will learn more by yourself as needed, afterall.

Nathraiben 2010-06-27 19:55

Re: C++ is it right for you, and how did you know?
 
Java tends to be a good way to get into programming, though some people are thrown off by the fact that it takes an eternity just to get your first "Hello World" out there... ;)

Haven't been into Python for long, but I guess that would be a good one for a beginner, too. Though there might be some complications when learning other languages from there on since the need for semicolons and braces will need some getting used to after using Python's indentation for a while.

Then again Python, other than Java, would have the additional advantage of being supported on Maemo (and MeeGo, I guess) with it's PyQt bindings.


As for university vs school vs books vs internet:

It mostly depends on the specific sources of information. Personally, University was a giant waste of time for me, since they spent a whole lot of time on teaching me extraordinarily useful things like the difference between infinity and double infinity... :rolleyes:

But between all the superficially scientific crap I wasted part of my life on, there also was this one tutor aptly nicknamed "The Hacker" who taught me more about programming in half a semester than all the other classes in a couple of years.

Schools tend to be better on that account, since most of them try to teach you for life, not for some high and mighty title to put in front of your name. But of course her it still depends on whether you get the right teachers.

Personally, I've learned a lot from books, but from my experience only one out of ten books will actually make you UNDERSTAND what you're doing instead of simply making you copy their source code. One of those rare gems of programming books actually managed to teach me the big advantages of OOP - well into my first year of - until then pseudo-OO - Java programming. :D

Same with the net: Finding good tutorials there can be rather tedious, but if you DO find them, they might teach you a lot. Though whether you'll learn sensible, elegant programming that way is really questionable.

Best part about the net, though, is the fact that you don't have to spend any money, so you can learn as many languages as you want before deciding on the one that will be your flagship for a couple of years.


So, I'd say going for a school to learn the basics (project planning, writing clean and sensible code, how to write programs a user will actually feel comfortable handling) without specialising on any language at first.Then use the net to do some research, maybe try the languages easier to get into first and once you feel like you know your way around, only then specialise on any language.

vivainio 2010-06-27 19:58

Re: C++ is it right for you, and how did you know?
 
Quote:

Originally Posted by nhanquy (Post 731683)
You don't know data structure, OS, compiler theories,... how do you program? Schools help you with that. Programming languages reflect ways of thinking. Some prefers procedural, some not.

You don't need to know much about data structures - that's why we have class libraries.

Compiler theories - do you really need to write compiler? Certainly not for mobile devices.

Operating systems - again, you probably don't need to write one.

For everything else, a set of books is probably a better investment of your time (and esp. money if you have access to a library) than going back to school.

vivainio 2010-06-27 20:09

Re: C++ is it right for you, and how did you know?
 
Quote:

Originally Posted by wmarone (Post 731681)
Slinging code without understanding what's going on can lead you into more than a few traps. If you can get an understanding on your own, more power to you. But actually studying it works better for most people.

Is it even possible to sling code without understanding it?

(for the sake if discussion I'm ignoring a lot of pre-existing Javascript and Perl code ;-).

For sure it's much easier to sleep at lectures without understanding the subject matter than it is to code without understanding how programming in general works. But, it all depends on your priorities, age, skills and how you want to use your time and/or money.

Joorin 2010-06-27 20:10

Re: C++ is it right for you, and how did you know?
 
I'd say that C++ is one of the worst beginner languages there is. If you want to have a go at the kind of problem solving that goes into programming, have a look at Python or Java. This will give you a cleaner entry point when it comes to object oriented programming and object oriented modelling of the problem domain.

C++ is a Swiss army knife with rotating lasers attached at both ends and the power is weak in almost every programmer out there (me included) leading to unmaintainable projects and hard to track down bugs.

C++ adds several opaque layers and you as the programmer either stick to writing "Hello world!" programs or you need to actually understand all these "behind the scene" actions that are taking place. Some say this is the power of C++, I say this is one of the biggest flaws of it. Transparency is the key to proper understanding of things.

And, I know, this isn't a popular view on C++. But I draw from my experiences and my education and I can see no reason to start out with dual wielded laser swords when a simple hammer will do.

vivainio 2010-06-27 20:21

Re: C++ is it right for you, and how did you know?
 
Quote:

Originally Posted by Joorin (Post 731851)
And, I know, this isn't a popular view on C++. But I draw from my experiences and my education and I can see no reason to start out with dual wielded laser swords when a simple hammer will do.

These days a fairer consideration would be the Qt style C++, which isn't really much harder than Java.

wmarone 2010-06-27 20:30

Re: C++ is it right for you, and how did you know?
 
Quote:

Originally Posted by vivainio (Post 731840)
You don't need to know much about data structures - that's why we have class libraries.

You're making the assumption that you will always have said class libraries. Worse yet, without knowing what those data structures do how can you know you pick out the right one?

Quote:

Compiler theories - do you really need to write compiler? Certainly not for mobile devices.
Compiler theory is extremely helpful when you realize that your compiler can drastically change how your software works (even breaks!)

Quote:

Operating systems - again, you probably don't need to write one.
Understanding what is going on below your software is essential, even if you aren't going to delve down into it. And hiding up in a VM is not always an option.

Quote:

Originally Posted by vivainio (Post 731849)
Is it even possible to sling code without understanding it?

Certainly. Toss lots of conditionals and evaluations into code running on an A8 and you'll slow things down. Allocate memory or create large chunks of data that aren't multiples of 4K on an x86 system and strange things happen. Even data structure performance is heavily dependent on what the system you're on is doing.

Languages are easy, systems are hard.

Nathraiben 2010-06-27 20:33

Re: C++ is it right for you, and how did you know?
 
Quote:

Originally Posted by vivainio (Post 731849)
Is it even possible to sling code without understanding it?

(for the sake if discussion I'm ignoring a lot of pre-existing Javascript and Perl code ;-).

For sure it's much easier to sleep at lectures without understanding the subject matter than it is to code without understanding how programming in general works. But, it all depends on your priorities, age, skills and how you want to use your time and/or money.

It's most definitely possible to sling code without understanding how programming actually works.

That's actually one of the biggest problem in my sector: There's a myriad of coders (mostly from a non-programming background - people who were pulled from some other department) who write code that's somehow doing the job, but most definitely don't understand even the basic concepts behind programming.

Does their code work? Somehow...
Is it stable? Barely...
Is it easy to modify? Definitely not!
Is it re-usable? Re-what?
Is it performant? Sure, nesting a dozen loops with database selects always is!
Is it easy to use by the end user? No, but they're used to it.

Joorin 2010-06-27 20:36

Re: C++ is it right for you, and how did you know?
 
Quote:

Originally Posted by vivainio (Post 731860)
These days a fairer consideration would be the Qt style C++, which isn't really much harder than Java.

I'd say this has very little to do with what is harder, but all do to with what is easiest to learn while not having to pick up special knowledge to understand the basic functionality of the language that you won't have much use of if you change language later on.

C++ in "Qt style" isn't a good description of what you get if you start to learn C++.

Just for fun, explain how the compiler turns the following snippet into something that can run (in terms of name spaces, types and operator resolving) and, for extra merit, explain how the runtime is involved when it's executed:
Code:

std::cout << "Hello world!" << std::endl;
Sure, you can argue that you don't need to understand nor know any of that, you get your line written to the console, but that simple snippet contains, at least, three points of interest on the purely semantic level and one big one on the compiler level.

And when you leave these "simple" examples behind and start to get object oriented, new problems arise. Like, what's the harm, if any, in not having a virtual destructor in a pure virtual class? This might sound esoteric, but it's not.

There are so many other things to keep in mind when building more complex programs than "Hello world!" that I see no reason to start out with C++ to learn programming.

juise- 2010-06-27 20:40

Re: C++ is it right for you, and how did you know?
 
Quote:

Originally Posted by vivainio (Post 731840)
You don't need to know much about data structures - that's why we have class libraries.

Quote:

Originally Posted by vivainio (Post 731849)
Is it even possible to sling code without understanding it?

Somewhat contradicting statements?

Knowing an off-the-shelf solution is much nicer than going ad-hoc every time something fancier is needed. Not to mention how the knowledge of the "official" basics help when you need to communicate with others, even for just reading someone else's code.

That said, programming can be learned without the CS 101 stuff. But if done that way, it will be useful to go back at some point and fill in the gaps. Worked for me, at least.

To OP: I recommend Java or Python for first language. Java probably has a lot of literature available for beginners.

C++, IMHO, requires a lot of practise until you actually get to a level where you can understand other people's code. I wouldn't recommend it for first language. It's helpful if you're allowed to forget some complications like memory management while learning the very basics.

ndi 2010-06-27 20:57

Re: C++ is it right for you, and how did you know?
 
Quote:

Originally Posted by wmarone (Post 731876)
Compiler theory is extremely helpful when you realize that your compiler can drastically change how your software works (even breaks!)

Golden words. The best help I ever received as a coder was having access to sources and incredible documentation. No understanding of innards, no optimization, no advanced debugging, no performance. Doomed to sub-standard code.

Quote:

Originally Posted by wmarone (Post 731876)
Understanding what is going on below your software is essential, even if you aren't going to delve down into it. And hiding up in a VM is not always an option.

See above

Quote:

Originally Posted by wmarone (Post 731876)
Certainly. Toss lots of conditionals and evaluations into code running on an A8 and you'll slow things down. Allocate memory or create large chunks of data that aren't multiples of 4K on an x86 system and strange things happen. Even data structure performance is heavily dependent on what the system you're on is doing.

My golden moment was when I was writing for ATMEL a few years ago and I wrote some software (doesn't matter) that compiled to 800 bytes out of the 2K the chip had (2313 IIRC). At some point I got careless and mistakenly typed a slash (division) instead of a DIV (integer division), thus effectively pulling the division code for AT90 into my program. It now weighed at 3.5K. Not only instead of 20.000 procedures per second it would (have done) 5, drastically reducing effectiveness of code, but now it wouldn't even fit, effectively disqualifying me.

A similar effect happens on any platform. Sometimes the compiler sees through your shenanigans and corrects the code. Otherwise, you just end up with sub-standard code.

I'm a wandering a bit off-topic here, but another example:

I usually code in Delphi (Enhanced OO Pascal), and have been part of an argument that C was superior in speed. Someone wrote a chess program in C, and then translated it in Delphi. Code ran at 15% original speed, prompting that person to consider Delphi an amateurish joke. After a while, someone noticed the site and re-wrote the port according to Delphi guidelines. Result was 98+% speed (Delphi has overhead over C).

Why is this here? Because that's how much it matters to know your compiler and your platform. You can go with whatever language you want. There's always going to be a place for you if you're good at it. Plus, knowing your platform is going to help you when you switch languages, and knowing your language is going to help you switch platforms.

Oh, and, I saw C/++ and I immediately knew it WASN'T for me, if that helps :)

coderedcomputing 2010-06-27 21:25

Re: C++ is it right for you, and how did you know?
 
Quote:

Originally Posted by vivainio (Post 731675)
University & computer science is waste of time if you just want to start programming. You learn it by doing, not sitting at school listening to guys talking about doing it.

I personally don't plan to spend the rest of my life coding. I've been in the IT industry for the last 15 years with a Psych degree and basically want to get a more focused degree so I will make more money at my next job switch. I also want to be more useful by knowing a language and being able to apply it at work, regardless of where I work.

As well, I view university as a needed waste of time and money. Two of my better friends opted to work and skip college, we all ended up in the IT field, but with my degree I was and continue to make more yearly than they do (15k on one, 18k on another). Sadly, I know one of them knows way more than I, but that lack of degree holds him back. *shrug*

...and just to add, if I set a focus on C++ I'll be damn sure doing my own work outside the coursework assigned in class.

kojacker 2010-06-27 21:39

Re: C++ is it right for you, and how did you know?
 
C++ has it's place, due to speed mainly, for applications such as gaming. In regards to other industries such as distributing computing, networking, or desktop applications then it has mostly, and rightly, been left behind. Unfortunately this affects the take up of Qt, being c++ centric, whereas the ease of Java has helped Android development explode. Personally, if it wasn't for the Python Qt bindings, I would not have bothered with Qt or n900 development at all. And I say that as the guy who started the n900 coding competition heheh :P

Learning C++ wont do you any harm at all - it's good to learn any language and legacy languages, even Cobol, are always in demand as people move onto newer languages. But Java would be my recommendation.

Hotshot 2010-06-27 22:28

Re: C++ is it right for you, and how did you know?
 
I wondered the same thing awhile back so about a month ago I got on amazon and ordered C and C++ programming for beginner training suite ed. 2009 to get me start. It was like $25 so if you don't wont to go the school route than it might be worth checking out.

mmurfin87 2010-06-28 05:00

Re: C++ is it right for you, and how did you know?
 
Quote:

Originally Posted by coderedcomputing (Post 731944)
...and just to add, if I set a focus on C++ I'll be damn sure doing my own work outside the coursework assigned in class.

For perspective, I could teach you how to program in C++ in a day. You'd have a few notes and good solid ground to start writing code.

The thing is, C++ doesn't give you very much. Anything you want to do outside of console-restricted "Hello, World!" or "I am an animal" : "I am a cat" inheritance requires a third party library. Most third party libraries are like languages of their own.

Graphics, Networks, IPC, GUI, AI, Database. All these things are topics which you will need to familiarize yourself with and find 3rd party libraries for. C++ just gives you the tool to make them do stuff.

There are literally SO MANY THINGS you need to know to begin to do anything useful with any programming language that learning a programming language is RIDICULOUSLY trivial in comparison.

I don't mean to discourage you. I just want to correct this importance I'm picking up on that you attach to languages. The language isn't that important.

Pick any one of them and go from there. What I absolutely recommend you do after you get comfortable writing little programs and adventuring on your own in that language is to try and code in assembly. Then you'll get an appreciation for how to program. Just remember that EVERY SINGLE programming language you could possibly choose will eventually become a very similar sequence of machine code instructions.

vivainio 2010-06-28 05:36

Re: C++ is it right for you, and how did you know?
 
Quote:

Originally Posted by coderedcomputing (Post 731944)
I also want to be more useful by knowing a language and being able to apply it at work, regardless of where I work.

Then it might be a better idea to look at Python. C++ is more appropriate for 100% programming jobs, while Python is also useful for "softer" jobs like making web sites.

Web development also seems like an area where they don't care about degrees that much.

pycage 2010-06-28 08:08

Re: C++ is it right for you, and how did you know?
 
I'd suggest to have a look at at last one good book about algorithms and data structures and the classic book "Design Patterns" if you want to go serious about programming.
Compiler theory is an interesting field, too. And even though you'll hardly write any compiler in your life, it will help you with parsing data input and stuff. I'd call the finite state machine and the stack-based push down automaton two very handy tools when it comes to processing input. And they're fairly easy to create, too.
Oh, and try to understand recursion. It will save you a lot of headache because it makes many problems look a lot simpler to solve. :) And know where to apply recursion, and (especially) where not.
You can do all this in almost any language. I suggest to choose a really simple one (Python is good for this) to play around with the concepts of computer programming.
Knowing this stuff also sets you apart from the average code monkey who just knows how to write code, but not deal with solving problems.
Writing down code alone is boring IMHO. :)

Just my 2 cents about programming.

vivainio 2010-06-28 08:18

Re: C++ is it right for you, and how did you know?
 
Quote:

Originally Posted by pycage (Post 732276)
And even though you'll hardly write any compiler in your life, it will help you with parsing data input and stuff. I'd call the finite state machine and the stack-based push down automaton two very handy tools when it comes to processing input.

OTOH, you could just use XML/JSON/csv/ini/s-expr and go home before the evening news ;-).

Nathraiben 2010-06-28 08:32

Re: C++ is it right for you, and how did you know?
 
Quote:

Originally Posted by vivainio (Post 732198)
Web development also seems like an area where they don't care about degrees that much.

And that's exactly why people who're trying to make more money simply by adding another title to their name should stay away from it.

(Okay, the main reason is because the web development sector doesn't need another "Woot, I studied IT and thanks to that class on web design I took in my second year I'm an eggsbert now!" web designer. But to have a good reason for both sides works well for me. :D)

2disbetter 2010-06-28 09:21

Re: C++ is it right for you, and how did you know?
 
Just to wiegh in here. I started out learning C, and then C++ (which I now prefer becuase of it's vast potential), and then dabbled a little in Java. (Messed with Qbasic and Pascal when I was real young)

Out of all of those the one thing I can say with certianty is that I HATE Java. It's like trying to boil water and never getting the water more than luke warm.

C++ is like taking the gloves off at a boxing match, the only problem is if you're uncoordinated you're still going to fumble around like a fool.

My advice, try C++. Understand it's strengthds and weaknesses. Also know what you want to program. As has been mentioned before C++ is essentially the standard for game programming and is good as well at the hardware level (ie for drivers, etc.).

Also programming is hard. A lot of it is not glamour, but long nights digging through lines of code to find an allusive mistake.

But has been mentioned getting something to compile and run real slick, is a drug you can't manufacture.

2d

coderedcomputing 2010-06-28 19:11

Re: C++ is it right for you, and how did you know?
 
Quote:

Originally Posted by Nathraiben (Post 732300)
And that's exactly why people who're trying to make more money simply by adding another title to their name should stay away from it.

(Okay, the main reason is because the web development sector doesn't need another "Woot, I studied IT and thanks to that class on web design I took in my second year I'm an eggsbert now!" web designer. But to have a good reason for both sides works well for me. :D)

lol trust me I am not one of those folks. I don't plan to go into web development, just to continue my career in IT. I'm at a point now where I'm usually in charge of at least a few folks, and spend more time putting out fires than anything else. =)

I'm basically looking to just spiff up the resume with another degree, as the Psych degree makes sure I get past the HR nitwits who only go 'yarp this one has a degree, yarp' and passes the resume to the actual hiring folks. This way, walking in (once this degree is done) to the next job I can argue my skills up for higher pay. The minor is a simple bit of 15 hours or so, and the classes are looking like C++, Web (java etc), C# Net, and some database classes and the like.

I figure I'll at least take the first class on C++ (short of getting time to grab a book or two now) and if I hate it, I'll know.

devu 2010-06-28 19:41

Re: C++ is it right for you, and how did you know?
 
Nobody even mention Action Script here. I know there is no to many folks that like it but there is a lot of urban legend about scripting language that they remember from 10 years ago ;)

If you have different type of mind and you have to visualize abstract things you need to understand actually what is going on behind the scene Flash/Flex is perfect. Action Script 3 is very similar to Java anyway but has all of visual drawing API ready to go, so you don't have to write hundreds of lines to see your result represent by some visual stuff.

In terms of syntax this is ECMA standard based language as well.

JAVA
package packageName;

import another.packageName.*;

public class ClassName extends SuperClassName implements InterfaceName
{
public ClassName()
{
// constructor
}
}

Flash
package packageName
{
import another.packageName.*;

public class ClassName extends SuperClassName implements InterfaceName
{
public ClassName()
{
// constructor
}
}
}


or
Java Interface
package packageName;

public class InterfaceName extends AnotherInterface
{
// public is optional (and extraneous)
public void methodName();
}

Flash interface
package packageName
{
public interface InterfaceName extends AnotherInterface
{
// public not necessary (and not allowed)
function methodName():void;
}
}

Java method/function
public String doSomething( Object arg )
{
return "something";
}

Flash method/function
public function doSomething( arg:Object ):String
{
return "something";
}


And similarities are a lot.

However if you need to draw some square shape in flash you simply adding 2 lines of code.

graphics.beginFill(color, alpha)
graphics.drawRect(0,0,100,100);

you can say this.x = 100 and your square is in different position.

In Java you need to write or use some library to draw all this stuff on the screen.

In terms of speed of writing code and if you thinking about web development flash is perfect choice. Also let you understand Java and OOP techniques, design patterns and all things that modern language suppose to have.

In fact there is no task you cannot represent in AS3. 3D, abstract classes, Neural networks, Augmented reality, Voice recognition etc etc.. There is only Flash Player limitation and for now lack of GPU acceleration. Both technologies are based on Virtual Machine that running this code.

There is another good thing about AS3. There is no subject in google that community will not support, and will not provide some examples how to do some stuff. A lot of libraries has been ported from other languages such as Java or C++ to AS3. This is the biggest advantage of Flash Platform. Access to free resources and a lot of good supporters. Also you don't have to buy anything. There is a lot of free tools included Flex SDK that you cant start learning right now. If you impatient you can try without this, there is even fee online compiler.

http://wonderfl.net/

But remember:
Action Script is good to start. but
Quote:

The limits of my language are the limits of my world.
Ludwig Wittgenstein
;)

Nathraiben 2010-06-28 20:03

Re: C++ is it right for you, and how did you know?
 
Quote:

Originally Posted by coderedcomputing (Post 733048)
lol trust me I am not one of those folks. I don't plan to go into web development, just to continue my career in IT. I'm at a point now where I'm usually in charge of at least a few folks, and spend more time putting out fires than anything else. =)

Harr, good to hear that... :D

Kidding aside: Just to make sure, that wasn't meant to refer to your specific situation - after all you posted that you didn't plan on fully going into development yourself.

It's just that, somehow, whenever someone talks about changing into the development sector, they're told to go into web development, since it's the easiest to get into and "Guys, you can learn HTML in two days and earn a fortune from then on". Heck, they even told us that at university... :eek:

Quote:

I'm basically looking to just spiff up the resume with another degree, as the Psych degree makes sure I get past the HR nitwits who only go 'yarp this one has a degree, yarp' and passes the resume to the actual hiring folks. This way, walking in (once this degree is done) to the next job I can argue my skills up for higher pay.
I hear you!

I once visited a booth at one of our local job fairs, told them about my graduation from a business school with a focus on IT, my years spent at university until I got head hunted, my working experience as software developer, my various certificates and the high regards my former employers held me in.

The HR bloke just looked me up and down to then instruct me: "So you don't have a title? Well, doesn't matter, I can still offer you this: you start working as casual employee, copying data from paper to a database. After a year we'll promote you to a terminal worker, so you can learn how to use the software and get familiar with the interface. Another couple of years into that you might earn a position as key user, and from there it's not hard to get into our development department. Three years as assistant there and you'll be a fully fledged developer!"

For some strange reason I never felt any urge to apply for a job with them... :D

Quote:

The minor is a simple bit of 15 hours or so, and the classes are looking like C++, Web (java etc), C# Net, and some database classes and the like.
Since I don't know the US system, what's that supposed to mean? 15 hours a week for a semester? If so, I should consider moving to the US for a while... :D

Especially since the timetable sounds rather interesting. Seems like they are focusing less on the mystical science mumbo jumbo and more on the useful stuff.

Quote:

I figure I'll at least take the first class on C++ (short of getting time to grab a book or two now) and if I hate it, I'll know.
Of course it depends on the sector your working in, but from experience C++ developers are not exactly eager to let "outsiders" in on their work.

(They just don't know what they're missing. The best projects I ever did were the ones where I was working hand in hand with a consultant that actually had basic development knowledge. It's a great experience to be able to talk on a level where both know exactly what the other is talking about.)

Not sure whether it wouldn't be better to get into Java instead - since most business developers are working with that. Also, the word Java works wonders with HR people. :D

But again, that depends on the sector you're aiming for in the long run.

On the other hand, can't be wrong, anyway. Even if you're working with Java people and only know C++ (or the other way round), you're still going to be able to talk business with the developers that way. Every consultant, PR person, manager, [add other non-developer IT position] who doesn't get confused by a simple "We could loop over those database entries" is bound to be famous with the development geeks.

coderedcomputing 2010-06-28 20:19

Re: C++ is it right for you, and how did you know?
 
Just quickly on the credit hours in the US, 15 hours ends up being five three credit courses, each 'credit' is the lecture hours per week. So one 3 credit course would meet Mon/Wed/Fri for an hour lecture, then after you've done the pre-determined coursework for the Minor with passing grades, bam you have your Minor when you graduate with your Major.

Lullen 2010-06-28 20:20

Re: C++ is it right for you, and how did you know?
 
I would say java is the best language to start with. C++ is hard but if you want c++ I would go c first and then c++ just because I heard so many saying so. I did first java(not really good at it either) and then c++ and I feel it is so much harder and I do not understand these & and * at all. Just learned the error msg and edit the code afterwards :)

I really do hate languages like python and visual basic(started with this) as I do not see them as real languages even if they is...

Nathraiben 2010-06-28 20:40

Re: C++ is it right for you, and how did you know?
 
Quote:

Originally Posted by devu (Post 733081)
Nobody even mention Action Script here. I know there is no to many folks that like it but there is a lot of urban legend about scripting language that they remember from 10 years ago ;)

While I agree that AS is a lot of fun (especially when you start combining it with PHP :D) and might be a nice way to get into programming, there's a huge drawback. At least there was last time I checked (please prove me wrong on that - I would LOVE to get back into AS).

You have to pay an incredibly high amount of money to use it (money Adobe already took from me for PS CS5 :p).

That's okay if you plan on going into the Flash business, but just to learn programming - getting one of the GUI libraries for a "free" language would be the better choice. Not sure about C++, but Java for example makes it rather easy to get visible results quickly, be it Swing or AWT.

Quote:

Originally Posted by coderedcomputing (Post 733122)
Just quickly on the credit hours in the US, 15 hours ends up being five three credit courses, each 'credit' is the lecture hours per week. So one 3 credit course would meet Mon/Wed/Fri for an hour lecture, then after you've done the pre-determined coursework for the Minor with passing grades, bam you have your Minor when you graduate with your Major.

Really should move, then. That sounds like exactly the kind of compressed teaching I would have enjoyed.

We have a similar system (measuring hours per week per course), and while I can't remember the exact number anymore, it was somewhere around ten times as much for the minor.

Endless hours of listening to useless mathematical theorems that had about as much to do with programming as my left sock with rocket science. :(

Anyway, don't want to hijack your thread by ranting about our messed up university system. ;)


All times are GMT. The time now is 19:02.

vBulletin® Version 3.8.8