C versus Swift

I have no clue about programming. I want to learn the basic principles of coding. I don’t know yet what to build for myself or others, but I am motivated to progress and create something.
I am thinking of the two related.

I own a Macintosh as well as Windows PCs. I’m not afraid to install Linux on a machine if that’s needed.

Which language would you recommend to me and why?

Other urls found in this thread:

amazon.com/C-Programming-Modern-Approach-2nd/dp/0393979504
mitpress.mit.edu/sicp/
twitter.com/NSFWRedditVideo

>coding

C if you are masochist. C++ if you are masochist and hate yourself.

Swift, if you suck dicks.

Forget c learn c++

C++

C is a nice first step into programming.
If you move to OOP language or scripting language like Python, you will see the benefits you gain and understand what those languages are doing under the hood.

And if you like embedded system C is gewd ;-)

Honestly just learn Java first.
Great on all operating systems and will teach you everything you need to know about the basic programming concepts.

Learn c and pointer shit after Java tho

Honestly just learn C# first.
Great on all operating systems and will teach you everything you need to know about the basic programming concepts.

Unironically python so you can get moving quickly. I recommend MITx 6.00.1 through edx. It's a mooc that teaches you the basics with python.
Once you have the basics down most other languages are similar to pick up.

Don't do it. Java is shit. For basic programming concepts Python, then C.

Scheme through SICP is the only correct choice

Java is great for learning the basics of programming retard
I don't like programming in it now, but it is a great STARTING point.

Not op but what's scip

It's too abstract. Too overengineered.

kumir

...

OP here. Thanks for the replies.

amazon.com/C-Programming-Modern-Approach-2nd/dp/0393979504
Is this book as good as advertised?

Also, what’s the difference between C and C++? Why would the latter be better?

mitpress.mit.edu/sicp/
Structure and Interpretation of Computer Programs, very overrated book using Scheme (the saner version of Lisp language)

>to retarded to understand oop concepts

>teaching an absolute beginner 20 levels of needless abstraction

C++ has got oop

C++ has everything you could ever need at the price of having ugly syntax.

C is a very small subset of C++ without a lot of things like OOP.

Both are useful tool to know, I recommend learning c++ because after pointers there's not much else to do with C.

>python is not abstract
>no syntax at all

They might as well learn programming principles with Ruby with your logic.

I recommended C, faggot.

Good for you. C cannot compete with Java, maybe C#

99% of the people on here recommending C never progress past hello world tier shit and just jerk off to it having a very small file size. C and C++ are terrible first languages and should only be tackled after you've learned nearly any other used in production language like Java, Python, C#, Ruby, Kotlin, etc. You'll most likely come out hating program after all the bullshit setup and compiling steps you need to even do anything simple.

In the real world they are mostly used for when you need to control at the very low level, which most people that aren't working on embedded systems or 3d games won't need to very often if ever.

Js

Will agree on the importance of Java and C# and primary languages and Python as a reliable high level one.

>I don’t know yet what to build for myself or others
that's kind of an issue bud. a programming language is a tool. you have to have at least some idea of what you want to create. it's like asking "should i learn how to use a jackhammer or a combi drill?"

>I want to learn the basic principles of coding
basic concepts of data types, functions, variables etc exist in most languages. languages like Python, Javascript and presumably Swift are ones where you can familiarise yourself with these concepts and get some shitty programs working without being overwhelmed with information. C is closer to hardware and will require far more effort and knowledge of how it all works before you can expect to make anything resembling software with it. if you're actually interested in how computer systems work then you'll probably be looking at C fairly often. if you don't care then go on codecademy and do the beginner tests with all the languages they have and then pick whichever you like the most.

Still C. If you code Swift you are supporting apple bullshit and your programs aren't portable.

holy fucking shit anyone is talking about swift kek

Web shill

Swift sucks ass op

What math do i need to know for this

Swift is more or less proprietary, isn't it? What happens when Apple changes their mind again?

Used to be you could make Cocoa applications with Java and Objective C, then they bailed on both, now we have Swift but what's the point if you aren't interested in making Apps for the Apple App ecosystem?

It's a loser language. It will not survive in the long term because Apple will abandon it too some day.

C will never ever die.

>I want to learn the basic principles of coding.
C is a great place to start also it's a nice language but only for very specific tasks which you probably won't do(system programming).
After learning basics of C start learning C++ and OOP it should be easy.
C++ today is an shitty language it's a giant mess because of it's weird evolution.
After learning C++ you can jump to any other language
I would recommend some them:
Python - super super easy you will understand how it works under the hood because you learned C, great for getting job done but it's not a fast and efficient language remember this.
Java/Kotlin - well these languages are good choice if you want to program for android java is a mess like C++ and Kotlin is just Java with new syntax
Swift - amazing language but it will be hard for you to learn it(different syntax than C and C++) has some things from Haskell like optionals(maybe in Haskell) it's the best choice if you want to be iOS dev also remember it's a young language so it's changing very fast and don't have as much learning materail as other languages.

Swift is open source now.

Let objective C die please I beg you pajeet user

Can you name some things you dislike and some things you like about ObjC

Basic algebra

start with c and do tons of string manipulation exercises

Swift is much nicer.

C is a terrible language and unless you program low level shit, you shouldn't use it.
Even for low level shit, the only thing it does better than C++ and Rust is compile time.

heh
im good then

Start with a scripting language like JavaScript or Python
Learn a bit of object oriented programming and start using C# and Java
Go more low level and start learning c and c++

Square brackets around everything is awful to read

try learning the basics. Python is fine. You should learn:

types of variables
loops
if statements
conditional loops
arrays and lists
testing
wrinting/reading plain text files

after that, you are set to learn more complicated stuff and also about frameworks. If it's about just a hobby, set your goal and learn the tool/framework needed to use it.

>Which language would you recommend to me
C
>and why?
Because you don't know what language you need. C is more complicated than most languages so learning it won't do any harm

this.
though you could also flip the list around and start off at low level, so once you get to the top you know what you want to do with your skills. or you could start at both high and low levels and make money somewhere in the middle.

I graduated from koding with klossie. xD yay me ^^

A bunch of big companies use Java though.

The best language to learn is the one that is most relevant to what kinds of programs you want to make, since you are more likely to stick with it if you are sincerely interested in the final product of your efforts. C is mainly used for microcontrollers and operating systems, Swift is pretty much only used for iOS apps. If you don't know what kinds of programs you want to make but want to give programming a try anyways, go with Python, since it has a good mix of versatility and accessibility.