So in your opinion, what would you recommend me learning to start on? I planned on starting with PHP, BASIC, and HTML, then moving to C++, and ending in Java or C#. Thanks!
I like Java, probably since it's the first language I learned. If you get to know it, it's really powerful, and I absolutely love the fact that everything in Java is an extended Object class. It gives it a very strong sense of object orientation. I love C++ as well (took a while to learn lol). But the main reason I love Java is that you get a massive library of goodies for no extra price. The only downside for me is that it's a virtual language, and I like to make executable programs!
Java has nothing to do with C++, Yes, syntax looks like C++ but thats about it... First of all, I have to make it clear I don like any of these 2 languages. I'm an Objective C developer but I had to learn C because Objective C truly is just C but 100% OOP. So Im not supporting Java because I like it. Java is a very powerful language, those people that say Java is not fast enough would have a point 10 years ago,
@bobbyjava these days computers have so much power that the speed difference between C++ and Java is next to nothing. Another very important point here is Oracle. Oracle is putting so much money and energy into Java these days that Im sure Java will be a great language in next 2-3 version. Its very sad that Sun couldn't keep up with its own language. And the most important point that all u wanna be programmers forget is JAVA IS NOT A LANGUAGE ANYMORE, ITS A PLATFORM, ITS A CULTURE.
@bobbyjava How come you could say Java is slow when the whole Android is based on Java? How come you could say Java performs poor when most huge ass websites are running on Java server pages? Yes, Java hasn't been designed for game programming, But who in earth uses a programming language to make games these days anyways? The engine might be C++ but after that no one uses 1 language or 1 set of tools to make a game. Most games are script languages.
@bobbyjava My point is if you are a programmer in real world you know 1 language is not the answer, you need to know as many language as possible, and it gets easier and easier once you understand the programming logic. We had to learn Java in 1 week because one of our customers wanted us to write a project in Java , so we sat down and learnt the whole Java language syntax in 1 day and started writing proper code in Java after a week. Language is just a tool. Gather as many tools as u can.
Your comparison made me laugh. Comparing C++ and Java is like comparing apples and oranges. In addition, Java was written in C++ the whole cannot be better than the part. C++ is intending for system programming and So is C programming. in short that means they are used to build operating systems. I bet you have never seen an operating system built in java. Java is for non critical apps. It was build so that the most incompetent programmer could not screw things up.
@linuxifed it seems u haven't heard of the JNode,,, java actually doesn't need any thing to run except for its JVM, once u can make a machine with a minimum requirement to run the jvm, u can continue the OS with java. .
@mjoraid from what I have seen of J- Node is it is bloated. very bloated. it has the same graphics quality as the x windows system but takes almost as much memory as a KDE a heavy weight desktop in Linux requires. Java is like a pig set loose in a buffet. Expect no food to be left over.
it all depends on what u want...performance is a currency like money...so think about it like this...C++ is like china, have plenty of money but is a harder lifestyle. Java is like USA, haves very little money but haves an easier lifestyle.
You seem like a very nice person, and while im sure these two creatures in the background are your friends, you should still have stopped filming, locked the door sat that monkey in the background down like the little boy he's acting like and told him to shut his trap or gtfo. I know what that smile on your face is saying, and you have to say it to them or they'll just keep disrespecting you. Good luck and thanks for the info! Now go stand up for yourself man! They pissed me off so much!
@Mrgreatestfreakout Pointers let you access one instance in multiple ways without creating any substitutes to pass control over with. It is a very performance oriented and error prone subject.
@rplgn Ok, so what are the examples of controlling one instance without creating copy of it? and why do you think it is very perfomance oriented and error prone? do you think pointer is a ideal method to achieve same goal in big project?
@Mrgreatestfreakout Imagine you have a scene object. You want to tell a scene object to have a relationship to another. You create a CSceneObject* object pointer to your scene object. The problem with this approach is that when you delete the related to scene object, your pointer to it turns invalid and your program might crash. But using this pointer, you have direct access to the object, instead of having it's index to browse in a pool of data which consumes CPU time.
@Mrgreatestfreakout It is for the programmer to decide whether a absolute pointer to memory is needed, but given this opportunity, you can heavily increase performance in a crucial scenario.
@superbrainification There may be reasons to choose one language over the other, but runtime performance is certainly not it (not for game / app development anyway). Java is fast enough for games, and there are games that are partially or entirely written in Java.
@superbrainification A rather well-known flight simulation series called Il-2 Sturmovik, for instance. Go watch a few Il-2 videos on YouTube, then come back here and tell me how lame that is.
@antred11 That's it? One game? and a flight simulation at best? Where are my Fps, Tps, Rpg, Mmo, fighting games? Or can Java can or cannot produce a good game?
@superbrainification I gave you an example. The least you can do is to search for more examples yourself instead of just throwing it back at me and complaining that it isn't good enough for you. Btw, I'm not a fan of Java (11 years of C++, Python and Tcl here) ... I'm just tired of baseless claims about Java's alleged poor performance.
Only people who are living in their parent's basement creating shitty 2d games and masturbating all day will say that C++ is a lot better, no programming language is better than the other! Java is awesome for many things. become a software engineer and then talk!
@jacf1020 omg why u saying thet ??? u must be very pro software engeener if u think thet those people who are using C++ are msturbing all day and living in their parent's basement, gg bro it's feels like a you are guy who cant learn C++ and insulting it......
Most java compilers are wrote in C++. C++ is a fast language and great for demanding systems and embedded systems. Java is Java and C++ is C++ they are different things. But if i had a to pick one i would take c++ any day.
Yeah this is a java vs c++ discussion, but in my book straight vanilla ansi c still rules. That's right, after java is dead and buried and long fogotten, C and even c++ will still be here. After all, you need some efficient language to write the next generation of crappy half cooked intepretted languages for the next generation of knucklehead programmers
U need to be a genius for C++ whereas any tom dick and harry can learn Java in a few days as it is easy and has most of the stuff like garbage collection is handled by the system
People always say that Java is more portable, but seriously, thay are abusing the term "portable". Java code doesn't count as being portable (in my opini because it requires other software to run, i.e. the java virtual machine.
At the end of the day, I challange you to find a single architecture worth its salt that C cannot compile code for given a relevent cross compiler.
@cplusplusish all languages require supporting software, but i would agree that C is by far the most widely supported language. in terms of code portability, it is harder to write simple program logic in java that will have platform-specific behavior, but java is really a portability nightmare for a variety of reasons.
sa se compar pas c++ et java sa dépend du type de programmeur que tu est si tu est plus disigne et tu veu fair vite un projet ses java si tes plus du style tu veu fair ton projet a ta fasson meime si sa prend tp de temp et que ts pluss un programmeur libre ces C++.
@CCV334 i am using learn c++ through game programming third edition which is very nice... it teaches you c++ with games to make it more interesting... c++ primer may be too advanced. i might be a little late
C# and Java only beats C++ when it comes to the RAD arena. Thats great for normal programmers who have no interest in how things work and prefer mouse over keyboard, which is obviously not my case, and thats why I dont like languages that require no knowledge.
Java was designed for the concept of making a language powerful enough to be safe, secure, web-ready, and multi-platform. It was designed with the vision that it will lead society into a whole new age of operating systems all running open source OOP programs. Speed doesnt matter because the current release of java is comparable to C++'s speed. Plus, newer and newer processors/cpu/ram chips are coming out, soon java will be faster than ever expected
@megametalpriest Java was created to make it possible for ppl with negative QI to work as programmers. Cry as much as you can, Javas best virtual machine is still written in C++ - SM.
Almost nothing would exist if it wasnt for C++s superior power. That includes Java, HotSpot, C#, VS, VB, and even you.
Java is perfect for 2D games and I find it a LOT easier to use than C++. Primarily because it comes with its own networking, graphics, sound, etc library.
While C++ on the other hand only contains the basics and if you want to use graphics you have to either use the OS API for graphics or a third party graphics API.
Java is good for 2D games and C++ is good for 3D games.
If you have ever tried to make a 3D game with Java you will see what I mean.
For C++, app performance is very important. If u will make big project apps C++ will be almost the best option. One of the best, if not the best; option for performance is Assembler, but in nowadays is just to hard to make something with him.
C++ has no garbage collection, no protection from memory corruption, macro/template/preprocessor hell, no interfaces, no properties, no sealed overrides, no locking
java has no operator overloading, no value types, no delegates (method pointers), no way to access C pointers, slow generics based on erasure, no indexers (the [] operator), no conditional compilation
C++ and java have no lambdas, no closures, no var and yield keywords, no events, no named arguments
@justinl81 out of that entire list the only thing C++ doesn't have is garbage collection and there are many open source garbage collectors out there for C++ and you have to program the interface in yourself
@ANXIOUS117 you can't efficiently, safely, or conclusively GC a language like C++ that makes pointers available as bytes because you A) have to scan all bytes because anything can hold a pointer value, B) can't tell whether a given sequence of bytes happens to look like a pointer or actually is a pointer, and C) can't assume that a pointer hasn't been somehow saved/encoded/obfuscated
also, C++ stl types are fairly safe and can be used effectively, but C++ gives you many ways to corrupt memroy
@ANXIOUS117 also, C++ has no interfaces as in the "interface" keyword in java/C#, no properties as in defining getters/setters for member variables, no sealed overrides (you can always override in a descendant class, see the C# "sealed" keyword), and C++ has no language-level locking, which is important because api level unlocking means you can forget to unlock
@ANXIOUS117 C++ is an extension of C that only adds sugar to make life easier. C++ is a finite set of convenience features, it doesn't have every feature and paradigm that every language on earth does. but by your logic, there's nothing C++ can do that C can't, there's nothing C can do that assembler can't, and there's nothing assembler can do that entering binary instructions can't, so i guess you're just not a fan of the concept of a programming language.
@justinl81 C++ and C are not the language C is missing the high level features that C++ offers of course C++ has low level facilities such as arrays, pointers, and casts you don't have to use the low level facilities of C++ you can use the high level too C++ is not an extension of C but an entirely different language C++ is a multiparadigm general purpose language that supports OOP
@ANXIOUS117 C++ is a fairly strict superset of C meaning most C code will compile unmodified in C++. there is nothing you can do in C++ that you can't do with more effort in C. a C++ class is a C struct with syntactic sugar. virtual methods are handled with a compiler-generated table inserted into the struct. you can do this manually. i think you're having difficulty with the difference between a fundamental capability that simply can't be duplicated, and a language feature that saves you time.
@justinl81 your right C++ can do everything C can do but not the other way around C is missing the object orientation C++ supports. I think we had a mis communication and how did we go from talking about C# to talking about C++
@ANXIOUS117 i said C can do anything C++ can do. C++ just automates things you can do manually in C, just like C produces assembly you could write manually. the compiler just generates lower level things for you. in fact, the first C++ compiler was called CFront, it translated from C++ to C, then you'd use a C compiler. C# does OO for you too, everything C++ does, plus it does a number of things you have to do manually in C++
@justinl81 C cannot do everything C++ can do C is low level and can't use classes or any of the object oriented programming that C++ can do I don't know where you heard that C can do everything C++ can do but its not true
@ANXIOUS117 you're not understanding me. a C++ class is a C struct, virtual methods are function pointers stored in an array. you can do this in C but the C++ compiler generates these things for you. all programming languages are compiled into cpu instructions, the purpose of a compiler is to do tedious jobs for you so you don't need to deal with the details. and by your definition of "cannot do," C++ can't do everything C# can do. C# has features for things that you have to do manually in C++.
@justinl81 the purpose of a compiler is to translate your source code into the low level language read by the microprocessor called object code or assembly then the linker binds these obj files together into an .exe file and C++ is closer to the hardware than C# meaning its faster and yeah you have to do them manually but you can still do them and C is low level C++ is basically a much better C
@justinl81 Oh and by the way why on earth did you change the conversation from talking about C# being better than C++ and Java to C being better than C++. First of all C++ is not an OOPL this a common misconception C++ is a multiparadigm general purpose programming language that supports object orientation C and C++ are not the same language C is in fact missing some
@justinl81 key features other programming languages have like: nested function definitions, direct assignment of arrays or strings, requirement for bounds checking of arrays, automatic garbage collection, operations on whole arrays, syntax for ranges, separate boolean type, formal closures of functions as parameters, generators or coroutines, exception handling,
@justinl81 only rudimentary support for modular programming, no compile time polymorphism in the form of function or operator overloading, very limited support of OOP, limited support for encapsulation, no native support for multithreading or networking, and no standard library for computer graphics.
@justinl81 C++ has all those things you just need to know how program them in. With C++ its all about freedom C# doesn't give you the freedom C++ gives you. C++ is a multiparadigm general purpose programming language that supports object orientation C# and Java force you to use object orientation C# doesn't include the low level access C++ gives you. You need to get your facts straight
1. C# is an ISO ratified standard, not just a vendor spec. you may be thinking of the java programming language which isn't standardized, or dot-NET libraries, but there are many C# language implementations, you can run C# anywhere.
2. C# is case sensitive.
3. C# has everything java does and everything that can be taken from C++ plus a bunch of data features like LINQ and lambdas, so i'm not sure what you mean.
4. java is missing a lot and sun sued ms for adding some of it.
1. Umm...you do know that Java was ISO ratified back in 1997 right ? Oh and what does being ISO ratified have to do with the overall usefulness of a language ?
2. Oops, I screwed that up, I will give it to you
3. Uhmm...no it doesn't. This is very telling..you don't have a lot of experience outside of coding in M$ environments, do you ?
4. Nope. M$ was trying to kill Java as a cross platform language by adding extensions that were incompatible with all other JVMs. Look it up.
1. sun won approval in 97 to submit java to the ISO but they didn't follow through. standardization is an important part of not being a one-vendor pony.
3. i'm aware that C++ has a lot that C# doesn't, but that's why i said C# has what it _can_, it's missing some C++ features for a reason. C# lacks nothing that java has, though.
4. obviously dot-NET is what ms wanted to do with java. they're working toward a fully managed os and that requires a lot of APIs java lacks. see singularity/midori
1. Why do you think they won approval? Whether they went thru with it or not is irrelevant. All JVMs worth mentioning follow Sun's spec, and only Sun's spec. For all practical purposes Java IS a standard
2. Irrelevant. I am not talking about C++
3. No, it isn't obvious. J++ was M$ pitiful attempt to usurp Java from Sun. It was a pretty cut and dry case, hence the reason M$ was ordered to cease and desist.
4. Can we agree now you don't know what you are talking about ?
1. the difference between vendor specs and a standard isn't popularity, it's oversight by a neutral and independent org like ANSI/ISO/Ecma
2. like i said, C# has everything in java syntax, and much more
3. ms exposed things that existed in the windows API but not java, and they continued with dotNET, see WPF/WCF/XNA/etc.. toolkits developed long after java was moot. obviously java compatibility is irrelevant to why ms wanted these things to exist because they added them to dotNET
1. In the real world no one cares about this distinction half as much as you think they would. Again...your inexperience is showing.
2.Please stop saying this. Comparison of competing web technologies of each platform alone renders your talking point laughable and again shows your inexperience
3. Huh ? Do you work for MS or something ? Read what you just posted. Introducing that API into the language in the fashion they did more or less broke MS Java for any other JVM.
1. i guess you don't mind one-vendor ponies, not that C# is one
2. the java platform and dotNET have many APIs the other lacks, but the java language is a conservative language with nothing C# lacks
3. ms wanted to expose everything you can access on windows in any language, sun wanted programmers to see only what they can use everywhere, but it wasn't a plot to harm java, the point was "no second class languages." ms was happy to just drop java if sun wanted java to be a ghetto
@iGrendizer you've got your blind faith in java wrong, java fans aren't supposed to dishonestly claim that java has features it doesn't, they're supposed to claim that java is a "pure" language and that the many features it lacks are crap
@iGrendizer java and c# are very similar but java is a lot older. before c#, java was one of very few languages with good safety and also good performance, i can see why it became very popular. but i think of c# as a greatly improved version of java and now that it's here, i like to think it's in the process of taking over.
C# syntax borrows a lot from C++ syntax among others, similar to how C++ is a superset of C, and C is based on a number of older syntaxes.
the .NET runtime is almost entirely self-hosting, though, and microsoft has even written a garbage collector in C# called bartok. the VS 2010 GUI is .NET based as well
so C++ syntax is a part of C#'s origins, but C++ code is being replaced and will eventually be removed entirely. microsoft actually has a prototype OS based on a C# kernel
@justinl81 Exist compiler C++ with Garbage Collectior, In C++ macro not used but used in C, C++ have a interface(class with virtual methods pure), Template is very powers,in C++ 0x introduce lambda expression, in the C++ you can create object with storage static and dynamic, ecc ecc. sorry for my english. bye
@Radamanthis79 there are variants of C++ with garbage collection but GC isn't in the C++ spec. C++ does have macros, and templates which are a type of metaprogramming macro, where C# generics are a runtime feature, you can actually construct a generic (template) at runtime. there's a difference between an interface and an ABC (abstract base class). C# has stack vs heap allocation, or value types vs references types, it's java that doesn't.
@justinl81 I know garbage collector in spec C++ .Generic C# are limited comparated at C++ Template, i know C# have value types vs references types, it's java that doesn't, i don't like JAVA. BUT C# not have a storage static(stack). C# have a struct (storage static or stack ) but c# struct not have inheritance or referential identity,.
@Radamanthis79 GC is NOT in the C++ spec, it's a hack, and you can hack GC into any language. C# generics allow a lot that C++ templates don't, especially in C# 4.0, but C++ templates allow some unique things too. C# is more strict about value types and reference types than C++, but there are reasons why. C++ is more strict than standard C and other languages in certain ways too, and again, for good reason, not by accident.
@jorreerroj C# performance is similar the C++ STL which does the same mandatory bounds checking and so on, but yes, if you write unchecked C-style pointer logic in C++, it will be faster than C# due to the safety checks done with C#. however, in terms of writing larger programs, C# scales more effectively, it's much easier to contain and control individual components in a large project with C#, and C# is far easier to debug in large scenarios because you don't have issues like heap corruption
@jorreerroj C# was made for .NET and vice-versa, the language is essentially a text expression of the program logic capabilities of the platform, and that's not a handicap, .NET is an excellent architecture and it scales well, C# scales well too, better than C++ because, like i said, it frees you from a variety of headaches like memory corruption that can be limiting in large, advanced programs
@justinl81 Thank you.But what everyone seems to forget when you get into this Language yardstick argument is ultimately, pick a language or framework that you think you can be passionate about and get productive. You wouldn't buy an expensive(expensive meaning your precious time) piece of equipment at the store to do something you know how to do just fine with the tools you already have. Inversely you wont use a piece of equipment that will take the job longer to do.
@stopthrm i think you're right that switching platforms can be costly, but it can also be beneficial. for instance, i used C++ for a lot of years and it's a great language, but template metaprogramming is somewhat opaque and difficult to maintain, some implicit casts and method overloads can be ambiguous and silently do unexpected things, and any object in memory can be randomly corrupted by any unreliable code, even after deployment. C# has similar syntax and features but without those issues.
@justinl81 just have to say im programming in C# 2, C# is realy easy and its not "real programming" acording to me its more drag and drop then programming. there is a reason why big programs a programmed in c/c++ and not java, C# and so on.
C/C++ will avays be better for smarter and faster programs than C# and java and so on. but C# is better for somthings and c/c++ is better for games and bigger programe
@jorreerroj "drag and drop" interface design has nothing to do with the language, there are RAD development systems based on C++. there is no reason why a large package is more manageable in C++ than in java or C#, and in fact, java is the most used language in the world, particularly for huge corporate projects. C++ does allow the use of pointers and other hacks that provide better performance for certain things, though C# does too, it's just that no one uses C# unsafe syntax for performance.
@justinl81 cmon do u realy think C# can do the same as C/C++? like WoW, Crysis and so on u rly think u can do the same game with the same preformence as u get from c/c++ as if u whould have used java or C#? java and C# is higher lvl programming and thats why they are slower and easyer to use, its a realy good way to learn how to programm but no its not as good as c/c++
@jorreerroj according to the TIOBE index, java is first, and has been for years. C++ is third, but its share is actually quite a bit lower than the .NET languages combined. also yes, C# can be used to write games. nothing beats assembly, but C# is a compiled language that is only slightly slower than C++ due to having mandatory bounds checks, given non-pointer program logic expressed the same way in both languages. microsoft is actually migrating to C# for games via XNA, deprecating C++.
@jorreerroj in that article "C Language is AGAIN the Most Widely Used Programming Language" if you follow the link in the article to TIOBE that they're citing, it currently says java is at the top with 18.166% and C is 2nd with 17.177% but i agree, it doesn't matter. though, easier doesn't mean slower or poorer, C is easier than COBOL, but also faster. C is easier than asm, but also slower. C++ can be slower than C for similar reasons to why C# is slower: virtuals, STL bounds checks etc..
@justinl81 i dont understand, u rly belive that C#/ java is as good as c/c++? and lets check C/C++ + U can do alot more with your computter + its faster + IT WORKS ON ALL PLATFORMS (some ppl dont know this) - its harder to learn C# and java + easy to learn - alot of checks - u cant do whatever u want - slowe
@jorreerroj "as good as" is subjective. if you like C++ then you're entitled to that, but C++ has only a marginal performance benefit over C# and there is "unsafe" syntax in C# for those corner scenarios where a 5% performance difference is critical, plus C# is always going to be cleaner and more manageable, especially in large projects where a bug anywhere in C++ code could affect the entire memory space. the C# language also works on all platforms, but the .NET library is a windows product.
@jorreerroj C# is also not necessarily easier to learn. if you want to learn the entire syntax of the language, it actually gets fairly complex because it's a more sophisticated language than C++ in many ways, having many things that C++ lacks, like object initializers, events, language-level locking, closures, the yield keyword, properties, and abstract/internal/etc.. plus C# generics do a lot that C++ templates don't like recursively referencing the generic class and covariance/contravariance,
@jorreerroj each has unique syntax features that make life easier, but most languages are equal in that there's some way to instruct the computer to do anything, and C# is no exception, it can use pointers in "unsafe" blocks and so on if necessary, you're not handicapped in either language. one thing you can do in C# that has no analog in C++ is runtime compilation and inspection with reflection, though. C++ has nothing like reflection and you can't rewrite it in a portable way.
@justinl81 i'll give up... i'll guess there is no good reason why games/programs/OS are written in C/C++ guess it would be better of with C#, btw C# is made from C++ and C++ is made from C there is a reason why C/C++ is faster and why u can do alot more with it. i just want to say C# is alot better then java and sure i like C# but cmon, u cant rly belive its better overall
@jorreerroj "better" is subjective and if you like C++ then i say use it, but other than a small margin of performance due to mandatory bounds checking, C# doesn't have to be slower, and it's certainly no less able to interact with the system and get things done. also by your logic C is better than C++, cobol is better than C, punch cards are best. not that i'm saying C# is necessarily an improvement simply because it's a newer language that builds on older languages.
@justinl81 okey C isnt better then C++ they are kinda the same but if u want to do somyhing like (for exampel) a socket u will have to use C if u want a fast connection. java, C# cant compairs with C's sockets but we need the alot of different language fro differents kinda tasks
@jorreerroj socket calls are simple requests to the system and the language normally has no impact on the time spent asking the system to do something to a socket or a file, though, in terms of programmer productivity and the ability to use efficient models like multi-threaded event driven socket handling, C# actually opens up a world of possibilities that would require a prohibitive amount of bloated C to achieve the same result
@jorreerroj java isn't slow for controlling sockets, but you may have seen a java program that controlled sockets and that also did something else very slowly like presenting a graphical interface, which java generally doesn't do very efficiently for a number of reasons. for instance, if you wrote a network service that performed complex mathematical calculations, and you wrote the logic for the math in any given language, some languages would definitely give you a more responsive server.
@justinl81 yes javas sockets are slow... i know, i use to programm in java... and its cuz java always checking the program while its running u cant get the speed u can get from C in java (never programmed a C++ socket so i dont know but i guess it will be faster then the java), if u still think that javas socket has the same or can (it cant!) preforme as good as C's sockets then i'll give up if u have progammed for more then a week u will know why java is soo slooow...
@Jamaica4Lyphe C# language syntax includes a keyword 'event' that enables you to define a collection of delegates (method pointers) where unprivileged callers can add or remove delegates and the declaring class can invoke each method in the group with a single action. it's vaguely related to objective C messages, but it's safe, efficient, and doesn't use childish nomenclature.
@justinl81 C++ may have no automatic garbage collection, but the point is that it's up to the programmer to write efficient garbage collection code. Java is known to have very slow garbage collection routines.
You also forgot to mention that Java uses a runtime interpretter, which is inherently slower than executing native machine code.
@cplusplusish you can't write an efficient GC in C++ because you can't iterate over your pointers, there's no conclusive list of what is/isn't a pointer.
java normally uses just-in-time compilation into native machine code.
dennis ritchie, bjarne stroustrup++, james gosling... learn what dennis ritchie has done
foodigi 1 week ago
This has been flagged as spam show
So in your opinion, what would you recommend me learning to start on? I planned on starting with PHP, BASIC, and HTML, then moving to C++, and ending in Java or C#. Thanks!
tweedleberry44 3 weeks ago
I like Java, probably since it's the first language I learned. If you get to know it, it's really powerful, and I absolutely love the fact that everything in Java is an extended Object class. It gives it a very strong sense of object orientation. I love C++ as well (took a while to learn lol). But the main reason I love Java is that you get a massive library of goodies for no extra price. The only downside for me is that it's a virtual language, and I like to make executable programs!
PoliticalHell 3 weeks ago
sry - but java is on its way out already. See ya later. Don't waste your time.
ThePrivateJoker 1 month ago
@ThePrivateJoker You're on the way out.
105jrt 3 weeks ago
@105jrt You were never in.
ThePrivateJoker 2 weeks ago
dat owl
Z3r0XoL 1 month ago
Java has nothing to do with C++, Yes, syntax looks like C++ but thats about it... First of all, I have to make it clear I don like any of these 2 languages. I'm an Objective C developer but I had to learn C because Objective C truly is just C but 100% OOP. So Im not supporting Java because I like it. Java is a very powerful language, those people that say Java is not fast enough would have a point 10 years ago,
bobbyjava 1 month ago
@bobbyjava these days computers have so much power that the speed difference between C++ and Java is next to nothing. Another very important point here is Oracle. Oracle is putting so much money and energy into Java these days that Im sure Java will be a great language in next 2-3 version. Its very sad that Sun couldn't keep up with its own language. And the most important point that all u wanna be programmers forget is JAVA IS NOT A LANGUAGE ANYMORE, ITS A PLATFORM, ITS A CULTURE.
bobbyjava 1 month ago
@bobbyjava How come you could say Java is slow when the whole Android is based on Java? How come you could say Java performs poor when most huge ass websites are running on Java server pages? Yes, Java hasn't been designed for game programming, But who in earth uses a programming language to make games these days anyways? The engine might be C++ but after that no one uses 1 language or 1 set of tools to make a game. Most games are script languages.
bobbyjava 1 month ago
@bobbyjava My point is if you are a programmer in real world you know 1 language is not the answer, you need to know as many language as possible, and it gets easier and easier once you understand the programming logic. We had to learn Java in 1 week because one of our customers wanted us to write a project in Java , so we sat down and learnt the whole Java language syntax in 1 day and started writing proper code in Java after a week. Language is just a tool. Gather as many tools as u can.
bobbyjava 1 month ago
@bobbyjava youre definetly a freak. so.... learn java
derdenkeinermag 1 month ago
java is slow, c# i better than java, c++ is not comparable for performace
ilpisano4 1 month ago
This is a joke right? You'll never get a job you idiot.
ThePrivateJoker 2 months ago
you shitties cant program any good in visual basic :(
TommyDDoom 3 months ago
Comment removed
TommyDDoom 3 months ago
Your comparison made me laugh. Comparing C++ and Java is like comparing apples and oranges. In addition, Java was written in C++ the whole cannot be better than the part. C++ is intending for system programming and So is C programming. in short that means they are used to build operating systems. I bet you have never seen an operating system built in java. Java is for non critical apps. It was build so that the most incompetent programmer could not screw things up.
linuxifed 3 months ago
@linuxifed it seems u haven't heard of the JNode,,, java actually doesn't need any thing to run except for its JVM, once u can make a machine with a minimum requirement to run the jvm, u can continue the OS with java. .
mjoraid 3 months ago
@mjoraid from what I have seen of J- Node is it is bloated. very bloated. it has the same graphics quality as the x windows system but takes almost as much memory as a KDE a heavy weight desktop in Linux requires. Java is like a pig set loose in a buffet. Expect no food to be left over.
linuxifed 3 months ago
I really didn't get you. So you prefer C and C++ over java ?
mjoraid 3 months ago
@linuxifed "Java is for non critical apps. It was build so that the most incompetent programmer could not screw things up."
Incompetent programmers (of which there are many, sadly) will ALWAYS find ways to screw things up. Java does not change that in any meaningful way.
antred11 2 months ago
it all depends on what u want...performance is a currency like money...so think about it like this...C++ is like china, have plenty of money but is a harder lifestyle. Java is like USA, haves very little money but haves an easier lifestyle.
maam31 3 months ago
Comment removed
TommyDDoom 4 months ago
@TommyDDoom lol visual basic? You are kidding right? WTF
pxpc2 4 months ago
Comment removed
TommyDDoom 4 months ago
@TommyDDoom you cant code anything good in basic. get real man lol
spyroglitcher 3 months ago
You seem like a very nice person, and while im sure these two creatures in the background are your friends, you should still have stopped filming, locked the door sat that monkey in the background down like the little boy he's acting like and told him to shut his trap or gtfo. I know what that smile on your face is saying, and you have to say it to them or they'll just keep disrespecting you. Good luck and thanks for the info! Now go stand up for yourself man! They pissed me off so much!
NAJURY 5 months ago
This has been flagged as spam show
before comparing Java and C++ you should know about JVM (Java virtual mechane).
Java programs are run by JVM.
concept of Java is entirely different. you cant comparator C++ and Java.
saa442 5 months ago
Comment removed
saa442 5 months ago
Comment removed
saa442 5 months ago
you cant compare c++ and java, java is written in c++ so ....
DeKugelschieber 5 months ago
c++ FTW!
chillipepper117 5 months ago
i hate fuking pointer because it's gay
Mrgreatestfreakout 6 months ago
@Mrgreatestfreakout I think you have no knowledge about pointers. it is very good feature in C/C++.
saa442 5 months ago
Comment removed
Mrgreatestfreakout 5 months ago
Comment removed
Mrgreatestfreakout 5 months ago
@saa442 than explain about what is pointer and why is it good
Mrgreatestfreakout 5 months ago
@Mrgreatestfreakout Pointers let you access one instance in multiple ways without creating any substitutes to pass control over with. It is a very performance oriented and error prone subject.
rplgn 5 months ago
@rplgn Ok, so what are the examples of controlling one instance without creating copy of it? and why do you think it is very perfomance oriented and error prone? do you think pointer is a ideal method to achieve same goal in big project?
Mrgreatestfreakout 5 months ago
@Mrgreatestfreakout Imagine you have a scene object. You want to tell a scene object to have a relationship to another. You create a CSceneObject* object pointer to your scene object. The problem with this approach is that when you delete the related to scene object, your pointer to it turns invalid and your program might crash. But using this pointer, you have direct access to the object, instead of having it's index to browse in a pool of data which consumes CPU time.
rplgn 5 months ago
@Mrgreatestfreakout It is for the programmer to decide whether a absolute pointer to memory is needed, but given this opportunity, you can heavily increase performance in a crucial scenario.
rplgn 5 months ago
Question "С# or Java" is more right.
universeroot 6 months ago
Need learn and know C++ and Java together.
universeroot 6 months ago
With c++ i dont have to go through and change into class files so c++ is better and easier especailly for a game dev
kris10ish 6 months ago
There are better alternatives to Java than C++.
deadballo 6 months ago
java runs like 20 times slower than c++// although java has many benefits, all the video games and typical applications are made with c++
superbrainification 7 months ago
@superbrainification There may be reasons to choose one language over the other, but runtime performance is certainly not it (not for game / app development anyway). Java is fast enough for games, and there are games that are partially or entirely written in Java.
antred11 2 months ago
@antred11 Yeah but what games? Facebook games? Cellphone games? Lame
superbrainification 2 months ago
@superbrainification A rather well-known flight simulation series called Il-2 Sturmovik, for instance. Go watch a few Il-2 videos on YouTube, then come back here and tell me how lame that is.
antred11 2 months ago
@antred11 That's it? One game? and a flight simulation at best? Where are my Fps, Tps, Rpg, Mmo, fighting games? Or can Java can or cannot produce a good game?
superbrainification 2 months ago
@superbrainification I gave you an example. The least you can do is to search for more examples yourself instead of just throwing it back at me and complaining that it isn't good enough for you. Btw, I'm not a fan of Java (11 years of C++, Python and Tcl here) ... I'm just tired of baseless claims about Java's alleged poor performance.
antred11 2 months ago
@antred11 It performs poor. Too slow, too heavy, takes years to compile, and a very limited language. especially when it comes to videogames.
superbrainification 2 months ago
@superbrainification Oh and I think that a flight simulation requires a hell of a lot more sohpisticated coding than a frickin' fps.
antred11 2 months ago
Only people who are living in their parent's basement creating shitty 2d games and masturbating all day will say that C++ is a lot better, no programming language is better than the other! Java is awesome for many things. become a software engineer and then talk!
jacf1020 8 months ago
This has been flagged as spam show
@jacf1020 omg why u saying thet ??? u must be very pro software engeener if u think thet those people who are using C++ are msturbing all day and living in their parent's basement, gg bro it's feels like a you are guy who cant learn C++ and insulting it......
shadowsimbiote2 6 months ago
Most java compilers are wrote in C++. C++ is a fast language and great for demanding systems and embedded systems. Java is Java and C++ is C++ they are different things. But if i had a to pick one i would take c++ any day.
Pyware50 8 months ago
well it's obviously going to be c++, it's a lower language therfore more powerful.
takeabreakish 8 months ago
C++ in 21 days LOL
I have 2 great C++ books [Inboxme] if u want it!
Eyenrique 8 months ago
C++ FTW!!!
Java is for sissies!!!
pufixas 8 months ago
lol dude.
java has nice design, is easier to learn and is safer and more portable.
c++ is ugly and hard to learn but more efficient.
in cases where you need safety and scalability, use java.
when programming compex applications, use c++.
De4sher 9 months ago
This is great fun watching you say the diffeent books! :D
SeanRamey 9 months ago
u moron java isnt more powerful than c++...
Deeharok 9 months ago
lolz
MrNathanShow 9 months ago
C# ftw!!!!!!!!
EliteCrafts 10 months ago
love ithis clip haha :D
tibiaowned1 10 months ago
Yeah this is a java vs c++ discussion, but in my book straight vanilla ansi c still rules. That's right, after java is dead and buried and long fogotten, C and even c++ will still be here. After all, you need some efficient language to write the next generation of crappy half cooked intepretted languages for the next generation of knucklehead programmers
SinistaN 10 months ago
I know both HA, but in my java is way easier than C++
TvBroadcasted 11 months ago
Chuck Norris can write his name in C++ :P
candido11471 1 year ago
@candido11471 so can a few million people
jackjohnson2142 1 year ago 2
U need to be a genius for C++ whereas any tom dick and harry can learn Java in a few days as it is easy and has most of the stuff like garbage collection is handled by the system
margishk 1 year ago
Java Java Java!!!
seshu240cc 1 year ago
Jackie Chan!!!
ChevyChase411 1 year ago
People always say that Java is more portable, but seriously, thay are abusing the term "portable". Java code doesn't count as being portable (in my opini because it requires other software to run, i.e. the java virtual machine.
At the end of the day, I challange you to find a single architecture worth its salt that C cannot compile code for given a relevent cross compiler.
cplusplusish 1 year ago
@cplusplusish all languages require supporting software, but i would agree that C is by far the most widely supported language. in terms of code portability, it is harder to write simple program logic in java that will have platform-specific behavior, but java is really a portability nightmare for a variety of reasons.
justinl81 1 year ago
I use good old assembly and C but i can code in ruby, python, java, C#, .net doesn't really matter. C is king
brokenbylaw2 1 year ago
sa se compar pas c++ et java sa dépend du type de programmeur que tu est si tu est plus disigne et tu veu fair vite un projet ses java si tes plus du style tu veu fair ton projet a ta fasson meime si sa prend tp de temp et que ts pluss un programmeur libre ces C++.
babyboygangsta93 1 year ago
although java is slow.. i think for a beginner is better, from my point of view java is like the easiest programming language to learn.
martmelee 1 year ago
Any suggestions for a good C++ book for beginners? I was thinking C++ primer plus 5th edition by Stephen Prata. thanks a lot guys!
CCV334 1 year ago
@CCV334 i am using learn c++ through game programming third edition which is very nice... it teaches you c++ with games to make it more interesting... c++ primer may be too advanced. i might be a little late
kevkev797 1 year ago
C# and Java only beats C++ when it comes to the RAD arena. Thats great for normal programmers who have no interest in how things work and prefer mouse over keyboard, which is obviously not my case, and thats why I dont like languages that require no knowledge.
fugitivodoinferno 1 year ago
I would go for java :p
it is getting faster and faster and its wora
but c++ has more possibilitys.
why not go both? :p
MrDpsc 1 year ago
C++ has no Oracle to sue you !
maciekrb 1 year ago
C++ and java could lick my ass hole *_* Lol ENGLISH LANGUAGE RULES !!!!!!!
MensaCadogan 1 year ago
@MensaCadogan
string bull = "fuck english, i only speak C++, C#, Java, PHP, and VB .Net";
static void Main()
{ Console.WriteLine(bull); Console.ReadKey();
}
gm3dgames 1 year ago
Java was designed for the concept of making a language powerful enough to be safe, secure, web-ready, and multi-platform. It was designed with the vision that it will lead society into a whole new age of operating systems all running open source OOP programs. Speed doesnt matter because the current release of java is comparable to C++'s speed. Plus, newer and newer processors/cpu/ram chips are coming out, soon java will be faster than ever expected
megametalpriest 1 year ago
@megametalpriest Java was created to make it possible for ppl with negative QI to work as programmers. Cry as much as you can, Javas best virtual machine is still written in C++ - SM.
Almost nothing would exist if it wasnt for C++s superior power. That includes Java, HotSpot, C#, VS, VB, and even you.
fugitivodoinferno 1 year ago
@fugitivodoinferno You seem to have a low " QI " as c++ was made after c#
AlienwareMetal 1 year ago
Java is perfect for 2D games and I find it a LOT easier to use than C++. Primarily because it comes with its own networking, graphics, sound, etc library.
While C++ on the other hand only contains the basics and if you want to use graphics you have to either use the OS API for graphics or a third party graphics API.
Java is good for 2D games and C++ is good for 3D games.
If you have ever tried to make a 3D game with Java you will see what I mean.
autonomous2010 1 year ago
like i'm going to listen to a guy who doesn't know right from left. How do you manage to write any code dude? LOL
ShaggyDo1971 1 year ago
i m a beginner which should i learn c++ or java?
huntercross14 1 year ago
free-music-download . tk
lani941 2 years ago
For C++, app performance is very important. If u will make big project apps C++ will be almost the best option. One of the best, if not the best; option for performance is Assembler, but in nowadays is just to hard to make something with him.
Java is really slow, C++ owns this world :)
aliancemd 2 years ago
This vid is not about c++ vs java, its about people in the background :P
q2rlz 2 years ago
is that your mother.?
lol next time kick everyone from your room unless you won't be alone with a girl too hhaha lol
Microsoft rules IT world so that's why most of programs are written by C++ especially the
C++/CLI version
FaulknerCk2 2 years ago
compared with C#,
C++ has no garbage collection, no protection from memory corruption, macro/template/preprocessor hell, no interfaces, no properties, no sealed overrides, no locking
java has no operator overloading, no value types, no delegates (method pointers), no way to access C pointers, slow generics based on erasure, no indexers (the [] operator), no conditional compilation
C++ and java have no lambdas, no closures, no var and yield keywords, no events, no named arguments
justinl81 2 years ago
thanks 4 ur info.....u must be a pro programmer :D
milanlawati 2 years ago
@justinl81 Are you retard or something?
Bl4ckH4ck32 1 year ago
@justinl81 out of that entire list the only thing C++ doesn't have is garbage collection and there are many open source garbage collectors out there for C++ and you have to program the interface in yourself
ANXIOUS117 1 year ago
@ANXIOUS117 you can't efficiently, safely, or conclusively GC a language like C++ that makes pointers available as bytes because you A) have to scan all bytes because anything can hold a pointer value, B) can't tell whether a given sequence of bytes happens to look like a pointer or actually is a pointer, and C) can't assume that a pointer hasn't been somehow saved/encoded/obfuscated
also, C++ stl types are fairly safe and can be used effectively, but C++ gives you many ways to corrupt memroy
justinl81 1 year ago
@ANXIOUS117 also, C++ has no interfaces as in the "interface" keyword in java/C#, no properties as in defining getters/setters for member variables, no sealed overrides (you can always override in a descendant class, see the C# "sealed" keyword), and C++ has no language-level locking, which is important because api level unlocking means you can forget to unlock
justinl81 1 year ago
@justinl81 C++ can do everything C# can do and more
ANXIOUS117 1 year ago
@ANXIOUS117 C++ is an extension of C that only adds sugar to make life easier. C++ is a finite set of convenience features, it doesn't have every feature and paradigm that every language on earth does. but by your logic, there's nothing C++ can do that C can't, there's nothing C can do that assembler can't, and there's nothing assembler can do that entering binary instructions can't, so i guess you're just not a fan of the concept of a programming language.
justinl81 1 year ago
@justinl81 C++ and C are not the language C is missing the high level features that C++ offers of course C++ has low level facilities such as arrays, pointers, and casts you don't have to use the low level facilities of C++ you can use the high level too C++ is not an extension of C but an entirely different language C++ is a multiparadigm general purpose language that supports OOP
ANXIOUS117 1 year ago
@ANXIOUS117 C++ is a fairly strict superset of C meaning most C code will compile unmodified in C++. there is nothing you can do in C++ that you can't do with more effort in C. a C++ class is a C struct with syntactic sugar. virtual methods are handled with a compiler-generated table inserted into the struct. you can do this manually. i think you're having difficulty with the difference between a fundamental capability that simply can't be duplicated, and a language feature that saves you time.
justinl81 1 year ago
@justinl81 your right C++ can do everything C can do but not the other way around C is missing the object orientation C++ supports. I think we had a mis communication and how did we go from talking about C# to talking about C++
ANXIOUS117 1 year ago
@ANXIOUS117 i said C can do anything C++ can do. C++ just automates things you can do manually in C, just like C produces assembly you could write manually. the compiler just generates lower level things for you. in fact, the first C++ compiler was called CFront, it translated from C++ to C, then you'd use a C compiler. C# does OO for you too, everything C++ does, plus it does a number of things you have to do manually in C++
justinl81 1 year ago
@justinl81 C cannot do everything C++ can do C is low level and can't use classes or any of the object oriented programming that C++ can do I don't know where you heard that C can do everything C++ can do but its not true
ANXIOUS117 1 year ago
@ANXIOUS117 you're not understanding me. a C++ class is a C struct, virtual methods are function pointers stored in an array. you can do this in C but the C++ compiler generates these things for you. all programming languages are compiled into cpu instructions, the purpose of a compiler is to do tedious jobs for you so you don't need to deal with the details. and by your definition of "cannot do," C++ can't do everything C# can do. C# has features for things that you have to do manually in C++.
justinl81 1 year ago
@justinl81 the purpose of a compiler is to translate your source code into the low level language read by the microprocessor called object code or assembly then the linker binds these obj files together into an .exe file and C++ is closer to the hardware than C# meaning its faster and yeah you have to do them manually but you can still do them and C is low level C++ is basically a much better C
ANXIOUS117 1 year ago
@justinl81 Oh and by the way why on earth did you change the conversation from talking about C# being better than C++ and Java to C being better than C++. First of all C++ is not an OOPL this a common misconception C++ is a multiparadigm general purpose programming language that supports object orientation C and C++ are not the same language C is in fact missing some
ANXIOUS117 1 year ago
@justinl81 key features other programming languages have like: nested function definitions, direct assignment of arrays or strings, requirement for bounds checking of arrays, automatic garbage collection, operations on whole arrays, syntax for ranges, separate boolean type, formal closures of functions as parameters, generators or coroutines, exception handling,
ANXIOUS117 1 year ago
@justinl81 only rudimentary support for modular programming, no compile time polymorphism in the form of function or operator overloading, very limited support of OOP, limited support for encapsulation, no native support for multithreading or networking, and no standard library for computer graphics.
ANXIOUS117 1 year ago
@justinl81 C++ has all those things you just need to know how program them in. With C++ its all about freedom C# doesn't give you the freedom C++ gives you. C++ is a multiparadigm general purpose programming language that supports object orientation C# and Java force you to use object orientation C# doesn't include the low level access C++ gives you. You need to get your facts straight
ANXIOUS117 1 year ago
@justinl81 C#
1. #1 problem with C# is that it is for all practical purposes a 1 platform pony
2. lack of case sensitivity, now that was just plain stupid
3.Incomplete design leading to the redesign of data access every single year
4. M$ re-invented Java, for the sole purpose of running on Windows; why exactly ?
popasmuerf 1 year ago
1. C# is an ISO ratified standard, not just a vendor spec. you may be thinking of the java programming language which isn't standardized, or dot-NET libraries, but there are many C# language implementations, you can run C# anywhere.
2. C# is case sensitive.
3. C# has everything java does and everything that can be taken from C++ plus a bunch of data features like LINQ and lambdas, so i'm not sure what you mean.
4. java is missing a lot and sun sued ms for adding some of it.
justinl81 1 year ago
@justinl81
1. Umm...you do know that Java was ISO ratified back in 1997 right ? Oh and what does being ISO ratified have to do with the overall usefulness of a language ?
2. Oops, I screwed that up, I will give it to you
3. Uhmm...no it doesn't. This is very telling..you don't have a lot of experience outside of coding in M$ environments, do you ?
4. Nope. M$ was trying to kill Java as a cross platform language by adding extensions that were incompatible with all other JVMs. Look it up.
popasmuerf 1 year ago
1. sun won approval in 97 to submit java to the ISO but they didn't follow through. standardization is an important part of not being a one-vendor pony.
3. i'm aware that C++ has a lot that C# doesn't, but that's why i said C# has what it _can_, it's missing some C++ features for a reason. C# lacks nothing that java has, though.
4. obviously dot-NET is what ms wanted to do with java. they're working toward a fully managed os and that requires a lot of APIs java lacks. see singularity/midori
justinl81 1 year ago
@justinl81
1. Why do you think they won approval? Whether they went thru with it or not is irrelevant. All JVMs worth mentioning follow Sun's spec, and only Sun's spec. For all practical purposes Java IS a standard
2. Irrelevant. I am not talking about C++
3. No, it isn't obvious. J++ was M$ pitiful attempt to usurp Java from Sun. It was a pretty cut and dry case, hence the reason M$ was ordered to cease and desist.
4. Can we agree now you don't know what you are talking about ?
popasmuerf 1 year ago
@popasmuerf
1. the difference between vendor specs and a standard isn't popularity, it's oversight by a neutral and independent org like ANSI/ISO/Ecma
2. like i said, C# has everything in java syntax, and much more
3. ms exposed things that existed in the windows API but not java, and they continued with dotNET, see WPF/WCF/XNA/etc.. toolkits developed long after java was moot. obviously java compatibility is irrelevant to why ms wanted these things to exist because they added them to dotNET
justinl81 1 year ago
@justinl81
1. In the real world no one cares about this distinction half as much as you think they would. Again...your inexperience is showing.
2.Please stop saying this. Comparison of competing web technologies of each platform alone renders your talking point laughable and again shows your inexperience
3. Huh ? Do you work for MS or something ? Read what you just posted. Introducing that API into the language in the fashion they did more or less broke MS Java for any other JVM.
popasmuerf 1 year ago
@popasmuerf
1. i guess you don't mind one-vendor ponies, not that C# is one
2. the java platform and dotNET have many APIs the other lacks, but the java language is a conservative language with nothing C# lacks
3. ms wanted to expose everything you can access on windows in any language, sun wanted programmers to see only what they can use everywhere, but it wasn't a plot to harm java, the point was "no second class languages." ms was happy to just drop java if sun wanted java to be a ghetto
justinl81 1 year ago
@justinl81 i know its old but most of things that you said about java are wrong !
java is starting to become number 1 programming language in the world.
iGrendizer 1 year ago
@iGrendizer you've got your blind faith in java wrong, java fans aren't supposed to dishonestly claim that java has features it doesn't, they're supposed to claim that java is a "pure" language and that the many features it lacks are crap
justinl81 1 year ago
@justinl81 so , you mean all the world make mistake by choosing java instead of c# ?? you think that you are right and the whole world wrong ?
trust me you underestimate java very much
iGrendizer 1 year ago
@iGrendizer java and c# are very similar but java is a lot older. before c#, java was one of very few languages with good safety and also good performance, i can see why it became very popular. but i think of c# as a greatly improved version of java and now that it's here, i like to think it's in the process of taking over.
justinl81 1 year ago
@justinl81
hey man, preprocessor is awesome in c++ :P and C++ don't need any stupid platforms as java or c#
Neomex000 1 year ago
@justinl81 I think you forget the part "VS is written in C++".
fugitivodoinferno 1 year ago
@fugitivodoinferno VS 2010 is largely .NET based
justinl81 1 year ago
@justinl81 C# is largely C++ based
fugitivodoinferno 1 year ago
@fugitivodoinferno
C# syntax borrows a lot from C++ syntax among others, similar to how C++ is a superset of C, and C is based on a number of older syntaxes.
the .NET runtime is almost entirely self-hosting, though, and microsoft has even written a garbage collector in C# called bartok. the VS 2010 GUI is .NET based as well
so C++ syntax is a part of C#'s origins, but C++ code is being replaced and will eventually be removed entirely. microsoft actually has a prototype OS based on a C# kernel
justinl81 1 year ago
@justinl81 Exist compiler C++ with Garbage Collectior, In C++ macro not used but used in C, C++ have a interface(class with virtual methods pure), Template is very powers,in C++ 0x introduce lambda expression, in the C++ you can create object with storage static and dynamic, ecc ecc. sorry for my english. bye
Radamanthis79 1 year ago
@Radamanthis79 there are variants of C++ with garbage collection but GC isn't in the C++ spec. C++ does have macros, and templates which are a type of metaprogramming macro, where C# generics are a runtime feature, you can actually construct a generic (template) at runtime. there's a difference between an interface and an ABC (abstract base class). C# has stack vs heap allocation, or value types vs references types, it's java that doesn't.
justinl81 1 year ago
@justinl81 I know garbage collector in spec C++ .Generic C# are limited comparated at C++ Template, i know C# have value types vs references types, it's java that doesn't, i don't like JAVA. BUT C# not have a storage static(stack). C# have a struct (storage static or stack ) but c# struct not have inheritance or referential identity,.
Radamanthis79 1 year ago
@Radamanthis79 GC is NOT in the C++ spec, it's a hack, and you can hack GC into any language. C# generics allow a lot that C++ templates don't, especially in C# 4.0, but C++ templates allow some unique things too. C# is more strict about value types and reference types than C++, but there are reasons why. C++ is more strict than standard C and other languages in certain ways too, and again, for good reason, not by accident.
justinl81 1 year ago
@justinl81 C# is like c++ and VB, C# uses .net and its slower then c++ c/c++ is for u if u want to make bigger and better programes
jorreerroj 1 year ago
@jorreerroj C# performance is similar the C++ STL which does the same mandatory bounds checking and so on, but yes, if you write unchecked C-style pointer logic in C++, it will be faster than C# due to the safety checks done with C#. however, in terms of writing larger programs, C# scales more effectively, it's much easier to contain and control individual components in a large project with C#, and C# is far easier to debug in large scenarios because you don't have issues like heap corruption
justinl81 1 year ago
@justinl81 still it uses .net and if u want to do more advance programes u need to use c/c++
jorreerroj 1 year ago
@jorreerroj C# was made for .NET and vice-versa, the language is essentially a text expression of the program logic capabilities of the platform, and that's not a handicap, .NET is an excellent architecture and it scales well, C# scales well too, better than C++ because, like i said, it frees you from a variety of headaches like memory corruption that can be limiting in large, advanced programs
justinl81 1 year ago
@justinl81 Thank you.But what everyone seems to forget when you get into this Language yardstick argument is ultimately, pick a language or framework that you think you can be passionate about and get productive. You wouldn't buy an expensive(expensive meaning your precious time) piece of equipment at the store to do something you know how to do just fine with the tools you already have. Inversely you wont use a piece of equipment that will take the job longer to do.
stopthrm 11 months ago
@stopthrm i think you're right that switching platforms can be costly, but it can also be beneficial. for instance, i used C++ for a lot of years and it's a great language, but template metaprogramming is somewhat opaque and difficult to maintain, some implicit casts and method overloads can be ambiguous and silently do unexpected things, and any object in memory can be randomly corrupted by any unreliable code, even after deployment. C# has similar syntax and features but without those issues.
justinl81 11 months ago
@justinl81 just have to say im programming in C# 2, C# is realy easy and its not "real programming" acording to me its more drag and drop then programming. there is a reason why big programs a programmed in c/c++ and not java, C# and so on.
C/C++ will avays be better for smarter and faster programs than C# and java and so on. but C# is better for somthings and c/c++ is better for games and bigger programe
jorreerroj 1 year ago
@jorreerroj "drag and drop" interface design has nothing to do with the language, there are RAD development systems based on C++. there is no reason why a large package is more manageable in C++ than in java or C#, and in fact, java is the most used language in the world, particularly for huge corporate projects. C++ does allow the use of pointers and other hacks that provide better performance for certain things, though C# does too, it's just that no one uses C# unsafe syntax for performance.
justinl81 1 year ago
@justinl81 cmon do u realy think C# can do the same as C/C++? like WoW, Crysis and so on u rly think u can do the same game with the same preformence as u get from c/c++ as if u whould have used java or C#? java and C# is higher lvl programming and thats why they are slower and easyer to use, its a realy good way to learn how to programm but no its not as good as c/c++
jorreerroj 1 year ago
@justinl81 btw C is the most used language right now java is secound
jorreerroj 1 year ago
@jorreerroj according to the TIOBE index, java is first, and has been for years. C++ is third, but its share is actually quite a bit lower than the .NET languages combined. also yes, C# can be used to write games. nothing beats assembly, but C# is a compiled language that is only slightly slower than C++ due to having mandatory bounds checks, given non-pointer program logic expressed the same way in both languages. microsoft is actually migrating to C# for games via XNA, deprecating C++.
justinl81 1 year ago
@justinl81 i just checked its C right now...
C Language is AGAIN the Most Widely Used Programming Language
April 7, 2010... acording to Galorath but thats not the point ofc there will be more ppl using java cuz its easyer
jorreerroj 1 year ago
@jorreerroj in that article "C Language is AGAIN the Most Widely Used Programming Language" if you follow the link in the article to TIOBE that they're citing, it currently says java is at the top with 18.166% and C is 2nd with 17.177% but i agree, it doesn't matter. though, easier doesn't mean slower or poorer, C is easier than COBOL, but also faster. C is easier than asm, but also slower. C++ can be slower than C for similar reasons to why C# is slower: virtuals, STL bounds checks etc..
justinl81 1 year ago
jorreerroj 1 year ago
@jorreerroj "as good as" is subjective. if you like C++ then you're entitled to that, but C++ has only a marginal performance benefit over C# and there is "unsafe" syntax in C# for those corner scenarios where a 5% performance difference is critical, plus C# is always going to be cleaner and more manageable, especially in large projects where a bug anywhere in C++ code could affect the entire memory space. the C# language also works on all platforms, but the .NET library is a windows product.
justinl81 1 year ago
@jorreerroj C# is also not necessarily easier to learn. if you want to learn the entire syntax of the language, it actually gets fairly complex because it's a more sophisticated language than C++ in many ways, having many things that C++ lacks, like object initializers, events, language-level locking, closures, the yield keyword, properties, and abstract/internal/etc.. plus C# generics do a lot that C++ templates don't like recursively referencing the generic class and covariance/contravariance,
justinl81 1 year ago
@justinl81 maybe, but awnser me this, can u do somthing with C# that u cant do with C/C++? and can u do somthing with C/C++ that u cant do in C#?
jorreerroj 1 year ago
@jorreerroj each has unique syntax features that make life easier, but most languages are equal in that there's some way to instruct the computer to do anything, and C# is no exception, it can use pointers in "unsafe" blocks and so on if necessary, you're not handicapped in either language. one thing you can do in C# that has no analog in C++ is runtime compilation and inspection with reflection, though. C++ has nothing like reflection and you can't rewrite it in a portable way.
justinl81 1 year ago
@justinl81 i'll give up... i'll guess there is no good reason why games/programs/OS are written in C/C++ guess it would be better of with C#, btw C# is made from C++ and C++ is made from C there is a reason why C/C++ is faster and why u can do alot more with it. i just want to say C# is alot better then java and sure i like C# but cmon, u cant rly belive its better overall
jorreerroj 1 year ago
@jorreerroj "better" is subjective and if you like C++ then i say use it, but other than a small margin of performance due to mandatory bounds checking, C# doesn't have to be slower, and it's certainly no less able to interact with the system and get things done. also by your logic C is better than C++, cobol is better than C, punch cards are best. not that i'm saying C# is necessarily an improvement simply because it's a newer language that builds on older languages.
justinl81 1 year ago
@justinl81 okey C isnt better then C++ they are kinda the same but if u want to do somyhing like (for exampel) a socket u will have to use C if u want a fast connection. java, C# cant compairs with C's sockets but we need the alot of different language fro differents kinda tasks
jorreerroj 1 year ago
@jorreerroj socket calls are simple requests to the system and the language normally has no impact on the time spent asking the system to do something to a socket or a file, though, in terms of programmer productivity and the ability to use efficient models like multi-threaded event driven socket handling, C# actually opens up a world of possibilities that would require a prohibitive amount of bloated C to achieve the same result
justinl81 1 year ago
@justinl81 okey i dont know about C# but i do know that javas sockets are sloooooooooooow
jorreerroj 1 year ago
@jorreerroj java isn't slow for controlling sockets, but you may have seen a java program that controlled sockets and that also did something else very slowly like presenting a graphical interface, which java generally doesn't do very efficiently for a number of reasons. for instance, if you wrote a network service that performed complex mathematical calculations, and you wrote the logic for the math in any given language, some languages would definitely give you a more responsive server.
justinl81 1 year ago
@justinl81 yes javas sockets are slow... i know, i use to programm in java... and its cuz java always checking the program while its running u cant get the speed u can get from C in java (never programmed a C++ socket so i dont know but i guess it will be faster then the java), if u still think that javas socket has the same or can (it cant!) preforme as good as C's sockets then i'll give up if u have progammed for more then a week u will know why java is soo slooow...
jorreerroj 1 year ago
@justinl81 this is from April 7, 2010
jorreerroj 1 year ago
@justinl81 whats kind of events because java has events?
Jamaica4Lyphe 1 year ago
@Jamaica4Lyphe C# language syntax includes a keyword 'event' that enables you to define a collection of delegates (method pointers) where unprivileged callers can add or remove delegates and the declaring class can invoke each method in the group with a single action. it's vaguely related to objective C messages, but it's safe, efficient, and doesn't use childish nomenclature.
justinl81 1 year ago
@justinl81 C++ may have no automatic garbage collection, but the point is that it's up to the programmer to write efficient garbage collection code. Java is known to have very slow garbage collection routines.
You also forgot to mention that Java uses a runtime interpretter, which is inherently slower than executing native machine code.
cplusplusish 1 year ago
@cplusplusish you can't write an efficient GC in C++ because you can't iterate over your pointers, there's no conclusive list of what is/isn't a pointer.
java normally uses just-in-time compilation into native machine code.
justinl81 1 year ago
@justinl81 what do you think about C++ today? Still the best? I want to start learning it!
Thet3 10 months ago
@Thet3 i like C#, but i'd prefer C++ to java
justinl81 10 months ago