So, I wanna learn some programming but I can't decide If i should go for C++ or C#. What are the pros and cons of going for either one first?
Newbie programmer wannabe
c# if you wanna suck microshaft cock and be slower than java
so I take it C++ is better?
i recommend C first
Java or python. Trust me, you'll get shafted if you try to start with a deeper language first
i've got some experience with Python
Step #1 to programming:
Have a passion to want to create some piece of software that doesn't exist, or something that you feel you could do better if you knew how to program.
Step #2:
Start getting an idea of where you would need to learn to make this become a fruition. You can go to one of many several programming forums and irc channels and there are autistic people just waiting to hear your enthusiasm over your passion project and they will dedicate hours and paragraphs of text to steer you in the right direction
Step #3:
Start doing it! If there are any roadblocks of things you don't understand or things won't work, just look up the problem on stackoverflow.
Congratulations, you're a programmer now!
...
Ada is the better choice, onee-chan
It handles tasking, rendezvous, shared resources, and objects better than its C counterparts. It is also much more reliable and secure and still really fast (almost as fast as C)
Ada code is also very easy to read and understand
you mean programmers actually make programs? they don't just "know" programming languages?
making programs(just wanna make games actually)
>tfw first language I ever coded with was ada
Who is this cute girl?
nice, do you still code in Ada?
my wife
Kanna from Kobayashi's Dragon Maid.
Don't go for C#, go for Java.
Not because it's better, but because it's easier to learn.
don't do c# please
fuck M$
Depends if you want a job.
Go with python
Both are good, but meme degree is a good thing to have.
(ARM) assembly
not even joking, it was my first language
Surprised to see so much love towards Java.
tech(dot)jonathangardner.net/wiki/Why_Java_Sucks
do java as your first language, that will give you a good grounding in everything you need
shift towards javascript and python if you just want to bang out cool stuff quick without much outside help
shift towards C++ and SQL if you want to work on real enterprise level code
Both would get you a job.
Scala > Java
C++ was my first and desu I used to think it was the master race of programming (I made games in unreal lol and I had only used Lua before). But now after having experience in Java as well, I would recommend learning Java first as it is easier to learn imo and many aspects of memory management that you need to learn in c++ is taken care of by the jvm.
quit that bullshit
you need to start practicing, any popular language works
books are always a preferred option for serious knowledge but you can always search online for high quality content online, but I wouldn't trust Sup Forums for my professional career
you need to work on projects to get better, ideally with experienced people
and quit shitposting and lurking all day, start lifting and smoke weed everyday
It doesn't matter too much if you do Python, C++, JavaScript or basically anything else with good documentation
But seriously, do Java instead of C#. C# is that little ecosystem stuck in Microsoft's claws and not even most other companies trust it for shit. Java is at least being used by just about every company (more or less) and a lot of academia.
Not really for initial learning.
Apart from being fairly complex, it also is still moving rather quickly - lots of docs you might find are already outdated.
It's a pretty good thing to learn once you want to use it's pretty cool web stacks or just learn some (hybrid / impure) FP.
C# is good to learn about good structure, good OOP.
C++ will then be a little easier understanding these concepts.
Any books that you recommend?
This is pretty out of date. A lot of problems with Java described here were fixed in Java 8. For example.
>Whenever someone designs something in Java, particularly people that grew up on Java and C++, they have to think of everything as a class. They do not understand that functions are "things", too.
>The worst example of this are classes that have exactly one method as part of its interface. This is no different than a function.
He's absolutely right. In retro-Java you'd often write bullshit like this.
uiElement = new ActionListener()
{
public void actionPerformed(actionEvent event)
{
foo.doBar();
}
}
Extending an interface to create an anonymous class with a single function that does literally nothing but call some other callback. This is what happens when you make such restricting design choices like "everything must be a class"
But Java 8 is a thing, we now have lambdas. You could easily do
uiElement = (ActionEvent e) -> foo.doBar();
or maybe even
uiElement = foo::doBar;
Which not only removes all the annoying boilerplate but also reinforces the conceptual link of the function as a first class data item.
And no, I don't count that petty dismissal at the bottom of the page as a valid argument. Languages improve, that doesn't mean you're allowed to ignore them because they used to suck.
Whoops, I mislinked.
I'd recommend C, then C# then C++
has it right
I've only used Java 6/7 and absolutely hated it.
Even if it improved isn't the language pretty much superseded by C++ / Python (Go?) by now?
it depends too much on what you want to do and on your understanding of computers in general
I started with learningprocessing.com which is a weird Java framework that is meant for prototyping only. The simplicity makes it easy to quickly understand what writing code for a machine is, perfect for a completer beginner
have fun with this and switch to a proper programming language when you feel comfortable
Java 8 in Action is a really good book to get started. If you understand lambdas skip the first few chapters and read about streams, they're absolutely amazing
I don't blame you, Java is pretty soul-sucking.
But I still think it's irresponsible to simply dismiss the real improvements.
C++ is my favorite language, but I recommend against it as a first language, because it contains many ways to kill yourself and many advanced features
C# or Java is a good first language. C is better for educational reasons, but it can be very demotivating because it's hard for a beginner to do "just werks" projects in C
Java is an employable skill for what it's worth
Java is rough to start out. Some of the syntax is quirky and long.
Python is bulletproof and will get you into some larger sysadmin type stuff and when you migrate into Linux will give you a massive head start when it comes to navigating the terminal. Only learn sql or any database language if your employer wants it. Python will also give you a head start if you want to get into Cyber Security, the most lucrative and in demand of all the computer disciplines right now.
>wants to start with C++
bitch you retarded? start with C or learn Go. Why even bother learning C++ it's useless
i think that criticism of java's syntax is misguided, C++ was also satanic until at minimum C++11. languages can change and all these languages have a job market
however, criticism of Java's performance and in particular the memory model is completely on the nose. when writing performance Java code it is standard practice to have to declare your intended heap size and then iterate on GC parameters, which is fucking insane beyond belief. i strongly believe a lot of "big data" problems are really "big in our shitty Java framework" problems, because Java data is just that bloated
>when writing performance Java code it is standard practice to have to declare your intended heap size and then iterate on GC parameters
Can you translate this into English?
Is Java really that much worse than other GC languages?