• Next language?
    30 replies, posted
I know Java and was looking to expand into another language. I was thinking about C++ or C#, any suggestions?
Python, C.
C++
C#
What are the main differences between C++ & C#.
C++ is lower-level and compiles straight to machine code. C# is compiled to bytecode which is run through a JIT compiler upon execution. C++ is more traditional and can be used in places where C# cannot (i.e. portable libraries, etc.). C# has more modern conveniences and handles more for the programmer (such as memory management). Although a lot of languages stick "C" in the name, it's important to understand that none of them are very similar. The list of similarities between C++ and C# is probably shorter than the full list of differences.
Which do you think would be better in the long run to know?
C++
java
COBOL. I think it could be the next big thing.
[QUOTE=TheCloak;29434372]java[/QUOTE] Already know Java.
[QUOTE=Zombii;29433280]What are the main differences between C++ & C#.[/QUOTE] C++ is a cluster fuck
I recommend C#. It's not hard to learn, it's easy to grasp and it's uses are almost uncountable.
[url]http://en.wikipedia.org/wiki/ML_(programming_language[/url])
Okay, I've decided to look at C#, and it looks very similar to Java, but what are some good resources for C#? Also, what's the link to the Microsoft website with all the materials?
[url]http://msdn.microsoft.com/library/kx37x362.aspx[/url]
I wouldn't really recommend C# if you already know Java. Those two are VERY similar. Learning C (or C++ if you like octopuses made by nailing extra legs on a dog) will extend your general programming knowledge much further.
[QUOTE=Zombii;29434585]Already know Java.[/QUOTE] well learn it again
I agree with Darwin226. Going from Java to C# you'll learn a few new things, like lambdas, but on the whole they're very similar; .NET is basically Microsoft deciding to build the same sort of platform as Java, but learning from Java's mistakes. Now that you have experience with a statically-typed, garbage-collected, VM-based language, rather than learning more of the same, try something different. Try Python or Perl or JavaScript to gain experience with dynamic typing. Or try C or C++ to gain experience with languages that compile to native code and give you direct control over memory management. Or try something based on a whole different paradigm, such as Haskell or Scheme. As a programmer, you have a toolbox of concepts in your head that you put together to solve problems. The more concepts you know about, the more effective a problem-solver you can be. I've often found that concepts from one language help me to come up with good designs for programs in other languages, because I can think in terms of those building blocks rather than having to reinvent them myself.
If you know Java, C# should be easy to learn... So I'd say check out C# for now, get familiar to it (which shouldn't take long), and then go learn C++
I agree with Wyzard here. Knowing two very similar languages is, imo, less usefull than knowing two different languages. Case in point: my programming course during this year's 1st semester used shceme and I came into it already knowing some java, some C++ and PHP(lol). At first it felt totally useless and I longed for a c-like language but in the end learning a new paradigm helped me see problems in a different light. Overall, it was very beneficial to my education. If you don't want to go as far as a whole new paradigm, think about C or C++. Knowing about pointers and the intricacies of dynamic vs. static allocation and having to manage memory helps you get a better understanding of how the machine works and that's (at least in my experience) very beneficial.
The thing is with languages you can't let people choose one for you its like them telling you what flavor crisp you like. Languages are a matter of preference some people like C# some people like C++, it really doesn't matter to much what language it is as long as your happy with it. Its a lot like learning a language in life really some people wanna learn German where as others wanna learn French or Japanese. If you need to know what language you want to move to then try a language till you say to yourself i'd rather prefer this like to another. Most people don't understand this however and force their opinions over other languages because they themselves are more comfortable with the language. Look at syntax from all different ones such as C,C++,C# ect and try writing in it maybe do this for about a day or 2 on each and see which one you would feel most comfortable with.
[QUOTE=bekka2712;29478236]The thing is with languages you can't let people choose one for you its like them telling you what flavor crisp you like. Languages are a matter of preference some people like C# some people like C++, it really doesn't matter to much what language it is as long as your happy with it. Its a lot like learning a language in life really some people wanna learn German where as others wanna learn French or Japanese. If you need to know what language you want to move to then try a language till you say to yourself i'd rather prefer this like to another. Most people don't understand this however and force their opinions over other languages because they themselves are more comfortable with the language. Look at syntax from all different ones such as C,C++,C# ect and try writing in it maybe do this for about a day or 2 on each and see which one you would feel most comfortable with.[/QUOTE] It's not entirely preference. There can be a right/wrong tool for the job. The trick is being proficient with the right set (i.e. not five languages that all do the same thing). What would you say if you saw a craftsman who [i]only owned hammers[/i]. Sledgehammers, claw hammers, ball-peen hammers. "Want that 2"x4" cut to 3' length? Uhhh... shit."
[QUOTE=ROBO_DONUT;29479612]It's not entirely preference. There can be a right/wrong tool for the job. The trick is being proficient with the right set (i.e. not five languages that all do the same thing). What would you say if you saw a craftsman who [i]only owned hammers[/i]. Sledgehammers, claw hammers, ball-peen hammers. "Want that 2"x4" cut to 3' length? Uhhh... shit."[/QUOTE] I guess with a jackhammer he might be able to do a decent job.... not very precise though.
I'm a hardcore C++ user (pretty much the only language I know), I once wrote a big program just to accept incoming input and output stuff via telnet. Python could've done it in 20 lines or so, and cross platform at that. (One day I'll get around to learning Python.) So yeah, choose the right tool for the job.
[QUOTE=Jookia;29480401]I'm a hardcore C++ user (pretty much the only language I know), I once wrote a big program just to accept incoming input and output stuff via telnet. Python could've done it in 20 lines or so, and cross platform at that. (One day I'll get around to learning Python.) So yeah, choose the right tool for the job.[/QUOTE] The other day at work I was working with a customer's build machine and they had the most incredible way of getting some config values out of a file. The config was formatted as a C header file and they needed to retrieve the values of some #defines, so this is what they did: 1. Wrote a c program that just prints the required defined values. 2. In the makefile, used cat to join the header onto the top of the .c stub. 3. Compile the new .c 4. Run the .o and collect the output in another file. 5. Pass the output file into the next stage. I found it because the machine in question didn't have gcc and it was causing a build to crash, so I changed three of those steps into 2 lines of python. I later found out that they had installed gcc on their copy of the machine just so that this step would work. So yeah, choose the right tool for the job.
Due to your guys input and some research I decided to switch to C++. But nowhere I can find has a good tutorial for an environment or tutorials. Any help?
Visual C++ [editline]28th April 2011[/editline] Tutorials I wouldn't know.
Depending on how much overall Programming Knowledge you have you can pick up the basics using this [url]http://www.cplusplus.com/doc/tutorial/[/url] I could also suggest this as video tutorials [url]http://www.youtube.com/watch?v=tyVhn0FWWB4[/url] But they are [b]very[/b] basic. Just use VisualStudio btw.
I don't know about introductory tutorials, but I'd recommend the [url=http://www.parashift.com/c++-faq-lite/]C++ FAQ[/url] and [url=http://www.amazon.com/Common-Knowledge-Essential-Intermediate-Programming/dp/0321321928]C++ Common Knowledge[/url] when you get to intermediate level.
Sorry, you need to Log In to post a reply to this thread.