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)

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 02:39.

vBulletin® Version 3.8.8