Click to See Complete Forum and Search --> : Help!! Newbie!!
yoyoloco
February 22nd, 2005, 10:38 PM
Can Someone Help Me!!! Decide Between C++.net And Basic.net?????
Am Only 15 So I Am Beggining Any Suggestions???
Reply's Greatly Aprreciated!!!!
Shatel
February 22nd, 2005, 11:45 PM
Hello
If you want to learn C++ ,this is good you start with Borland C++ 4.5 or higher! but Visual Basic.net
is powerfull program.
asSiDeluxE!
February 23rd, 2005, 12:05 PM
I'd recommend to start with old fashioned C or C++ (MS VC++ 6.0 or Borland C++ Builder).
If you once learned that, you can easily change to other languages and the chance to get a really skilled programmer is definately high.
Perhaps one time you want to program games or other high-performance apps - then you should have a certain knowledge of C++.
VB is for Beginners and produces really ugly code ;P
Boumxyz2
February 23rd, 2005, 02:21 PM
all depends on what you think.. If you want to learn hard one first go with C++ but the easy one is VB.
C++ has some mechanics that doesn't exists in other languages ( mostly pointers and shifts operators ). (mostly pointers are now called references but can be used without dereferencing it, while pointers mechanics can get ugly if not properly done. And shifts operators are in fact only * and /)
if you want to do WINDOWS programming ( meaning with a window, button and all ) don't go C++ way.. Go C# instead or VB.
There's no Native library for windows programmation in C++.. ( at least not ANSI Standard ones ). So you'll have to learn how to use the NOT so clear MFC or windows API. Might as well go C# instead, way more interesting.
They might have wrapped a windows programming class around MFC for C++ .Net but if you're gonna program for .NET platform, might as well go with VB or C#.
anyway it's a matter of taste.. But if you want to do console stuff you can take a look at C++.. But if you want to do windows programming ( button, windows , scroll bars ) might go for c# or vb.
just my 2 cents
yoyoloco
February 23rd, 2005, 06:47 PM
you mean c# is better than c++ to do windows applications??
then for what exactly is c++???
Zeb
February 23rd, 2005, 07:34 PM
C++ is for everything - windows, games, dos, unix, linux - everything.
c# is for windows only (maybe games in windows as well, but not sure what the performance would be).
the reason that Boumxyz2 recommends c# for windows programming is that C++ requires you to do alot of stuff just to do a simple app. check out just a basic "hello world " style -windows- app written in C++ to one written in C# and you will get the idea.
you got to ask what sort of stuff you want to be doing. if it's games, C/C++ all the way. If you want to learn the basics of programming and aren't sure how you will do (i.e. you have NO experience) then start with VB until you can see that you have the righ head for it and then decide on C/C++ or C# (or Java I guess...). C# is so much easier than C++, and the .Net libraries are really powerful, but if you want to become a real good programmer, then C++ is something you should learn just so you can get grounded in pointers and memory allocation/management and the like.
And if it is .Net you are looking at, the differences between C# and VB.Net are not so drastic as they all use the same objects - it's just the syntax that differs (at least, at a superficial level, as there are things C# can do that VB can't)
Zeb
February 23rd, 2005, 07:35 PM
then for what exactly is c++???
and c++ is 20 years old, c# is 5 years old, thats why! :)
yoyoloco
February 23rd, 2005, 08:39 PM
thanks!!!!
you guys really help!!
you know what i am going to do is that im going to learn c++.net
why not vb because i just gave a deep look at the sintax and i dont like the vb one i like c++, i think is more logic and i like it more!!
so wish me luck!
ha
wien
February 23rd, 2005, 08:40 PM
I think you are focusing to much on what is "the better language". There is no such thing. All languages have their positive and negative sides, and thus you need to choose the language that is best suited for what you are trying to do. There is no language that is best for everything. If you need to make simple windows applications quickly and don't require platform independence, use VB/C# .NET or something similar. If you need platform independence, use Java. If you need high performance and limited window handling (like for games), use a compiled language like C/C++. It all depends on what you want to do.
Oh, and please don't crosspost. This is basically the same thing you asked in the VC++ forum.
yoyoloco
February 23rd, 2005, 09:22 PM
well you got me
but you know i just want to get different opinions
dont you agree?
well now i know that you guys check all forums so if i am gona post something im gona do it on ly in one forum
thanks!!!
DeepButi
February 24th, 2005, 03:04 AM
... i just gave a deep look at the sintax and i dont like the vb one i like c++, i think is more logic and i like it more!!
so wish me luck!
ha
Well, it's a curious method to decide between languages :rolleyes:
I cannot see any REAL difference in syntax between the two:
if (condition)
{
...
}
if condition then
...
end if
MyArray[idx1][idx2]...[idxn]
MyArray(idx1,idx2,...,idxn)
switch (exp)
{
case NUMERIC_CONSTANT // I hate this one
...
}
select exp
case exp1, exp2 to exp3, exp4, ... ' I love this one
for (var=exp1; condition; exp2) // this one is powerfull I've to admit it
{
...
}
for var = exp1 to exp2 step exp3
...
next
int var1, var2;
dim var1, var2 as integer
... calling functions is alike
Both syntax look alike to me ;)
pointers :sick: uffff they make me sick :cool: an array of pointers pointing to an array of pointers pointing to ... my mind gets lost after the second level of derreferencing .... I guess the cases where pointers are really needed can be accounted with one hand fingers.
Performance? Today's important performance is on coding/maintenance (man time is expensive, machine time is cheap) and the nightmare of "what the f*** h*** was I trying to do with that b*** piece of C code?" is far more expensive than some milliseconds running time.
One of the bots of The Second International RoShamBo Programming Competition (http://www.cs.ualberta.ca/%7edarse/rsbpc.html) is just one line long:
int henny() { return((*opp_history?opp_history[random()%*opp_history+1]+1:random())%3); } but ... what is he doing???? hard to tell :D
Well, just kidding :) ... I use C++ and VB depending on needs, but I don't decide on syntax uglyness.
Hopefully he declared opp_history somewhere hehehe
else it doesn't compile.
let's go with the operators priority
random first
returns something that will be casted as an int.. can't know for sure depends on random declaration
[ random() % *opp_history + 1 ] this will give an int.. (It gets you the array element or the memory case of random() modulo content of pointer opp_history) + 1
so mainly if the content of opp_history is different from 0 use
opp_history [ random() % *opp_history + 1 ] +1
else
random()
then return the modulo 3 of this
FUNNY HOW SYNTAX IN C++ IS LOGIC LOL.
Boumxyz2
February 24th, 2005, 08:35 AM
Oh an by the way, hehe if you want to do Database programming you might as well learn this :
RELATIONAL and SETS basics
and
SQL Language. hehe C++ is not that great with Databases even though most databases are written in c++
There's a language for almost every flavor and color of type of programming. So you have to know What you WANNA Do first.
Just another example is that if you want to do Artificial intelligence, c++ might not be the easiest way to go, because C++ is actually compiled..
In theory, AI is code that writes code... Or in other way code that is adaptable. And code that writes code mostly means that you need an interpreter..
And that means no compilation.. Or you need a Gimmicks like JUST IN TIME compilation.
So perl, Lisp and python are examples of Scripting languages ( needing an interpreter ) ..
I'm no AI expert but that's the basics I learned. You can prolly find someone with WAY more experience that could disagree with me.
So the correct question of this thread would be
What is the best language to learn for "INSERT WHAT YOU WANNA DO HERE".
DeepButi
February 24th, 2005, 08:38 AM
Hopefully he declared opp_history somewhere hehehe
else it doesn't compile.
Yes, he did ...
int my_history[trials+1], opp_history[trials+1];
The function is embedded in a main program that takes care of the tournament ...
opp_history[0] is the number of entries in the opponent's moves table
opp_history[opp_history[0]] is the opponent's last move
so (I also like that :D)
If opp_history(0) = 0 Then ' first move
Return random() Mod 3 ' choose a random move
Else
Return (opp_history ( random() Mod opp_history(0) + 1 ) + 1 ) Mod 3
' choose a random opponent's move
' and return the move that would have beaten it
End If
Nice and elegant.
Notice the use of *opp_history instead of the equivalent opp_history[0]. Just the kind of things C++ programmers love (and I hate :rolleyes: ).
The real use of C? ... take a look at the famous camel (http://www.perlmonks.org/index.pl?node_id=45213) :D :D :D just the beginning of a vaste area: obfuscation.
Again: just kidding.
PS. I know, I know ... the camel is not C, it's pearl ... ok, so take a look here (http://www.ioccc.org/2001/anonymous.c), here (http://www.ioccc.org/2001/bellard.c) or here (http://www.ioccc.org/2001/cheong.c) just to begin with ...
Amn
February 24th, 2005, 09:46 AM
I recommend C++.
1. Knowing C++ syntax paves way for knowledge of Java, JavaScript, ActionScript 2.0 (ECMAScript 1.4) and C# syntaxes and paradigms (classes, objects, inheritance, incapsulation, interfaces, referencing and more). Knowing VB does neither of the above, except being a "similarity dejavu".
2. C++ IS NOT a difficult language to learn, it is difficult to use, deploy and debug (maybe), and that only gets easier with time. In fact C++ has one of the most straight forward lexics especially when going into heavy OOP implementations.
3. You DO NOT need to understand hardware workings in order to use C++, again despite what many perhaps think, because of their legacy knowledge about C which C++ derives from. C++ is fairly abstract, and you can get away without at least knowing what is flat memory adressing, interrupt requests etc. Just take a look at C++.NET (Managed C++), it is half step away from being a C#.
4. People seem to misunderstand and mix a LANGUAGE and its IMPLEMENTATION. C++ is not microsofts compiler, or GNU or whatever else, it is simply a set of rules which make up a language of communication to a machine. SO basically, there should be not talking about "fast", "portable" etc. C++ compilers get better and faster, and also there exist implementations of C++ facilites which interpret C++ source code rather than compile and link it. So basically, one is left with a rather clean, hardware unobstructed understanding.
5. OOP is present in physical world, and that is why I think C++ s strong OOP implementation is a better argument against VB's rather loose and amateur implementation (no multiple inheritance).
The only reason I would recommend VB is rapid application development. If anything else, dont. How many professional VB applications I use ? None. You ? probably zero as well. VB is simply a tool for making money on software. For idealist people, which also have an "academical" interest, and see big future for themselves in software industry, VB can only waste three year of their time if they later suddenly decide to start developing applications for NASA missions or scientific simulation.
So to sum up the second part of my post: if you are in the business to make quick money on scripting or utility products, go for VB; if you are in it for exploring the limits of logic implementation for a practical task, choose C++ or other language (which I dont dare express myself on at this time)
Boumxyz2
February 24th, 2005, 11:19 AM
Warning this is a purely biased view and opinion. I'm not ranting. I'm discussing.
I would like to point out some facts here
2. C++ IS NOT a difficult language to learn, it is difficult to use, deploy and debug (maybe), and that only gets easier with time. In fact C++ has one of the most straight forward lexics especially when going into heavy OOP implementations.
I think it's false.
Easier language to learn are in my opinion the NON oop ones. OOP languages are more efficient for modularity purposes and reusability of code. I actually think that OOP, is very complicated to DEBUG, compared to Sequential languages. I admit Sequential languages code can get a whole lot more ugly than OOP code, but you can do the same in SEQUENTIAL way than in OOP.. Just with more code.
OOP languages requires an OOP way of thinking that is NOT natural to everyone. And also requires way more planning ahead.
While If I program for a task to do and have a very tight schedule I won't go the OOP way just in case I need to rewrite the same code. I'll write the sequential way, which is the natural way of implementing a task
( what I do first, second and so on ) divide the task to do in small infinitesimal tasks, validate, and then debug. That's the sequential way of doing things.
I need the same code again ? I keep my source code, CUT paste it and voilą. Almost as quick as Link to an OBJ object of a oop library. Oh and I think OOP is overrated. It is useful for some tasks and very cumbersome for others. Just like Sequential way. Need to know exactly your needs for the task at hand.
5. OOP is present in physical world, and that is why I think C++ s strong OOP implementation is a better argument against VB's rather loose and amateur implementation (no multiple inheritance).
This is also not true.. C++ is closer to real OOP object, but it's still just a patch over C to be a OOP oriented object.
C++ has the capacity of being OOP but you can go around it, use C++ syntax and ANSI library and still go sequential non oop way. What I really think you want to say is Go learn an OOP language and not go learn c++ which is just a syntax.
While real OOP languages (smalltalk comes to mind) are closer to OOP implementation than C++.
4. People seem to misunderstand and mix a LANGUAGE and its IMPLEMENTATION. C++ is not microsofts compiler, or GNU or whatever else, it is simply a set of rules which make up a language of communication to a machine. SO basically, there should be not talking about "fast", "portable" etc. C++ compilers get better and faster, and also there exist implementations of C++ facilites which interpret C++ source code rather than compile and link it. So basically, one is left with a rather clean, hardware unobstructed understanding.
I'm not mixing stuff. I asked him if he wanted to do WINDOWS ( as in window, button and all that stuff ) programming. If he does, I'm guessing he's programming for the WINDOWS XP platform. And if he does, he might as well go .NET if he wants to program with windows and buttons because it is way much easier.
Or he can go to the rather slow sluggish java. But then he gets an implementation of OOP which is closer than C++ to real OOP specifications.
3. You DO NOT need to understand hardware workings in order to use C++, again despite what many perhaps think, because of their legacy knowledge about C which C++ derives from. C++ is fairly abstract, and you can get away without at least knowing what is flat memory adressing, interrupt requests etc. Just take a look at C++.NET (Managed C++), it is half step away from being a C#.
True, agree 100 %.
Example, I used a C program in OS/2 and in UNIX.. Worked on both, used only ANSI functions. Spawn and other trick I did worked wether I was on OS/2 or Unix.
But I must say that for me , an operating system is not Hardware related it is a software that let you use your computer.
1. Knowing C++ syntax paves way for knowledge of Java, JavaScript, ActionScript 2.0 (ECMAScript 1.4) and C# syntaxes and paradigms (classes, objects, inheritance, incapsulation, interfaces, referencing and more). Knowing VB does neither of the above, except being a "similarity dejavu".
Learning how to program is different from learning syntax.
I'm used to program in
REXX, COBOL, C, C++, VB, VB.NET, SQL
The syntax are really different... But it doesn't matter much since you know how to program and open a book to check the references to see what is the syntax for that language.
The only reason I would recommend VB is rapid application development.
Yes vb is faster for application development under windows operating system.
Does that make us bad people or bad programmer because we do that ?
No
If anything else, dont. How many professional VB applications I use ?
You'd be surprised of how many application written in VB you might be using unless you're not even using windows.
Some microsoft products are written in VB.
VB can only waste three year of their time if they later suddenly decide to start developing applications for NASA missions or scientific simulation.
What's the point ? I mean, you wasted 3 years learning VB ? I mean it's not wasted. While you were programming VB you gained knowledge of the language limitations, it's strenghts. You also learned how to program and also how to work around language limitations. This is way more important than learning a syntax.
codeguru.com
Copyright Internet.com Inc., All Rights Reserved.