Jump to content

What should be my first programming language?

Phoenix721

Recently, my friend and I had been thinking of developing our own video game on unity. That meant that one of us would have to learn how to program (that's me). Which language should I go for first?
I asked my teacher at school and she said "Avoid C#, it is too hard for beginners. Go for python, so you can understand the logic behind it all". I have kind of tried python, I can add numbers there and make it greet me, but that's about it as far as my programing skills go. Some people said that python is not good for a beginner, because learning only the syntax will do me no good.

I have a Fury Nitro and an FX 8320E. Screw my life?

Link to comment
Share on other sites

Link to post
Share on other sites

python
 

best for starting

once you grasp the concept of programming you can start using more complex languages like c++ or whatever :)

NEW PC build: Blank Heaven   minimalist white and black PC     Old S340 build log "White Heaven"        The "LIGHTCANON" flashlight build log        Project AntiRoll (prototype)        Custom speaker project

Spoiler

Ryzen 3950X | AMD Vega Frontier Edition | ASUS X570 Pro WS | Corsair Vengeance LPX 64GB | NZXT H500 | Seasonic Prime Fanless TX-700 | Custom loop | Coolermaster SK630 White | Logitech MX Master 2S | Samsung 980 Pro 1TB + 970 Pro 512GB | Samsung 58" 4k TV | Scarlett 2i4 | 2x AT2020

 

Link to comment
Share on other sites

Link to post
Share on other sites

python

 

best for starting

once you grasp the concept of programming you can start using more complex languages like c++ or whatever :)

Alright, thank you.

I have a Fury Nitro and an FX 8320E. Screw my life?

Link to comment
Share on other sites

Link to post
Share on other sites

Alright, thank you.

You're welcome :)

NEW PC build: Blank Heaven   minimalist white and black PC     Old S340 build log "White Heaven"        The "LIGHTCANON" flashlight build log        Project AntiRoll (prototype)        Custom speaker project

Spoiler

Ryzen 3950X | AMD Vega Frontier Edition | ASUS X570 Pro WS | Corsair Vengeance LPX 64GB | NZXT H500 | Seasonic Prime Fanless TX-700 | Custom loop | Coolermaster SK630 White | Logitech MX Master 2S | Samsung 980 Pro 1TB + 970 Pro 512GB | Samsung 58" 4k TV | Scarlett 2i4 | 2x AT2020

 

Link to comment
Share on other sites

Link to post
Share on other sites

"Avoid C#, it is too hard for beginners. Go for python, so you can understand the logic behind it all"

 

Python is a great programming language for beginners and you'll almost certainly find it easier to learn than C#, but that doesn't necessarily mean you'll find C# to be very hard to learn. You might, but there's no way to know for sure. Everyone is different.

 

If your goal is C#, and you pick Python first, you're learning 2 languages instead of 1. You might end up spending more time overall if you learn Python first.

 

I would skip Python and try learning C# since that is ultimately your goal.

Link to comment
Share on other sites

Link to post
Share on other sites

C, difficult but gives you all the right basics. won't give you s much rope to hang yourself with as say python or js. Is procedural so won't give you the illusion that you understand object oriented languages when you don't.

Link to comment
Share on other sites

Link to post
Share on other sites

I always recommend people start with Python, all things considered, since it's a pretty easy learning curve and is both pretty versatile--you can do just about anything with Python--and very easy to read, write, and debug code in.  That said, Python's big strengths aren't in writing video game code a lot of the time--you need something like C# for writing bigger, more complex games, because the performance is just plain better when actually running the code (the tradeoff is you usually spend more time writing it than you would equivalent Python code).

 

Since you're learning coding specifically for a video game, there's no reason not to start with C#.  If it makes no sense to you or is being really weird, you can always switch to Python to get an easier learning curve, then jump back to C# later.  But you can start with C#, absolutely, though it might be more confusing than Python for a beginner.  But, that by no means equates to being too hard to learn.

Link to comment
Share on other sites

Link to post
Share on other sites

Saying C# is too hard to start with is like saying Java is too hard to beginn with.
And that's what's mostly used besides Python to introduce programming at schools and universities (at least for the universities of people I've spoken to).

 

The syntax (grammar) of C# is about the same as Java, only a bit more 'eased' even to increase production speed of programms. It does take out some unneccesary steps you have to make in Java however.

 

To completely start programming, python is probably one of the best programming languages.
It lets you focus on the code logic and teaches you how to "think of abstraction". How to break things down into variables, control structures, comparisons and loops.

 

However, don't be afraid of C#, it's not as bad and the more you know the easier it will get. There's probably a solution to the problem you are working on mostly buildt into it. Or at least most bigger key components. :)

Link to comment
Share on other sites

Link to post
Share on other sites

C, difficult but gives you all the right basics. won't give you s much rope to hang yourself with as say python or js. Is procedural so won't give you the illusion that you understand object oriented languages when you don't.

 

I'd argue against C unless you really want to write low-level stuff (OS / drivers / something else close to metal).  Memory management and pointers are good things to eventually understand, but could act as hurdles early on.

 

My personal preference would be C#, but at a beginner level any modern OO language (Java, Python, etc) should teach you the same base set of concepts.  After you feel confident with a procedural OO language I'd try something functional (F#, Haskell, etc.) to branch out your knowledge.

Link to comment
Share on other sites

Link to post
Share on other sites

Python is probably the best language out there to learn how to code. If you go with C, C#, or Java, you will spend way too much time trying to learn syntax and not enough on learning how to properly program and design applications.

15" MBP TB

AMD 5800X | Gigabyte Aorus Master | EVGA 2060 KO Ultra | Define 7 || Blade Server: Intel 3570k | GD65 | Corsair C70 | 13TB

Link to comment
Share on other sites

Link to post
Share on other sites

I'd say C#. then later move onto C++

Judge a product on its own merits AND the company that made it.

How to setup MSI Afterburner OSD | How to make your AMD Radeon GPU more efficient with Radeon Chill | (Probably) Why LMG Merch shipping to the EU is expensive

Oneplus 6 (Early 2023 to present) | HP Envy 15" x360 R7 5700U (Mid 2021 to present) | Steam Deck (Late 2022 to present)

 

Mid 2023 AlTech Desktop Refresh - AMD R7 5800X (Mid 2023), XFX Radeon RX 6700XT MBA (Mid 2021), MSI X370 Gaming Pro Carbon (Early 2018), 32GB DDR4-3200 (16GB x2) (Mid 2022

Noctua NH-D15 (Early 2021), Corsair MP510 1.92TB NVMe SSD (Mid 2020), beQuiet Pure Wings 2 140mm x2 & 120mm x1 (Mid 2023),

Link to comment
Share on other sites

Link to post
Share on other sites

Another point regarding Python is that you'll immediately get the benefit of being exposed to both procedural and object oriented paradigms right at the start - as Python can be written either way...

 

I asked my teacher at school and she said "Avoid C#, it is too hard for beginners. Go for python, so you can understand the logic behind it all".

 

Ask yourself this: in all honesty why did this person end up 'teaching' and not 'practicing'? Statements such as this go a long way towards answering that question... and not in a good way :blink: *Sigh* I digress, I shall try to put away my disdain this time and ignore the inadequacies of the education system and it's denizens. Instead I'll just say that whatever is easy or hard is a subjective opinion and completely relative to the individual. For instance, I'd say that C++ is easy to start with because it helps to show a beginner what is really going on behind all of that syntactic sugar... you may think differently of course i.e. subjectivity! So let your gut instinct guide you, you're young and have lots of time to make mistakes so make the most of it.
 

Some people said that python is not good for a beginner, because learning only the syntax will do me no good.

 
Yes quite correct and I am one of them (not the Python bit though). Any given chimp, baboon (buffoon) or any other type of ape you can contrive is capable of parroting a task such as hammering out mickey mouse solutions that either don't apply to the real world or push the language features by way of architectural design.
 
It is far better and will serve you better in the long run to get a good handle on software design and engineering principles as early as you possibly can. That stuff is worth far more than learning and parroting syntax.

The single biggest problem in communication is the illusion that it has taken place.

Link to comment
Share on other sites

Link to post
Share on other sites

I would start with Python. Although, it depends on what you want to do and how much time you are willing to spend.

I personally began with one that was teached in school(kinda like python) and then moved to html/css/php/javascript.

Programming is easy to learn, hard to master.

Link to comment
Share on other sites

Link to post
Share on other sites

 

Another point regarding Python is that you'll immediately get the benefit of being exposed to both procedural and object oriented paradigms right at the start - as Python can be written either way...

This is why I thought Python would be a great starting point. Or indeed any language that allows this kind of flexibility between procedural and object oriented paradigms.

To be fair, you could write C# in a procedural way but you would end up with an enormous, very messy, monolithic entry-point object. :P

My old manager used to do a lot of procedural, C-style code in his C++ code, and I was not a fan.

Link to comment
Share on other sites

Link to post
Share on other sites

PYTHON

CPU: AMD FX-6300 4GHz @ 1.3 volts | CPU Cooler: Cooler Master Hyper 212 EVO | RAM: 8GB DDR3

Motherboard: Gigabyte 970A-DS3P | GPU: EVGA GTX 960 SSC | SSD: 250GB Samsung 850 EVO

HDD: 1TB WD Caviar Green | Case: Fractal Design Core 2500 | OS: Windows 10 Home

Link to comment
Share on other sites

Link to post
Share on other sites

C or C++

 

if you have infinite time and mental powers you can learn coding in binary (machine code) 

 

 

 i am learning C++ and it isnt to hard, i just need more time

We've now got three different subjects going on, an Asian fox and motorbike fetish, two guys talking about Norway invasions and then some other people talking about body building... This thread is turning into a free for all fetish infested Norwegian circle jerk.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×