I'm getting into coding for the first time. Is it a bad idea to start with swift as my first language?
i checked out swift and it seems ok.
I started with ruby and rails after. learned a few other MVCs and now going for C.
I would suggest the codeacademy ruby course if you never did any programming before and then K&R.
>and of course...
I wouldn't learn swift.
It's too specific and involves many non-coding aspects that other languages simply incorporate into them.
Learn a multi-purpose language like C/C++, Java, or Python for your first language. Then when you want to learn a more specialized language, you'll have a good understanding on how it all comes together.
For instance the languages listed above could be used for a wide range of coding disciplines.
Maybe, but learning 3 different languages takes a lot of time right?
If I made such a huge investment in time, I would like at least one of those languages to be a widely used one
Kek, not really but I didn't make the image
>Maybe, but learning 3 different languages takes a lot of time right?
Not altogether, once you have the basics the rest is mostly flavor, the right tool for the job and syntatic sugar.
Nothing against C++, but as a learning language it might be a bit hard. A VM type language like Python, C#, Java, etc that offers memory management and garbage collection will save you a lot of pain. One you really learn something you can always come back to C++ where you have to do all that yourself.
IMO those magical languages where everything is an object for some reason and you need an interface to do templates. They really aren't easy to understand.
Obviously garbage collection and pointer checking have plenty of benefits, but those languages are just up their own asses too far to be easy to learn.
>I wouldn't learn swift.
you're an idiot who doesnt know what they're talking about.
>It's too specific
drivel, its no more "specific" than the other languages you name.
>and involves many non-coding aspects that other languages simply incorporate into them.
so other languages incorprorate non-coding aspects?
utterly meaningless. dont post unless you know what you're talking about.
>For instance the languages listed above could be used for a wide range of coding disciplines.
what the fuck does that mean? there is no "wide range of coding disciplines".
you're just stringing words together.
>Where as swift is exclusively used for IOS app development
nope just plain wrong, really, dude, shut the fuck up.
swift has been open sourced, and even before it was you could use it on osx too, so once again, you're talking shit.
Either java or python is fine. I'd prefer those over swift if only because swift is a a "proper" compiler based language which adds another layer of complexity you dont want to have to learn about (yet).
Start from the ground up. Learn C, then move to higher level languages (higher as in away from 1s and 0s) like Python and C#.
If you have the time try some functional programming with Lisp (SICP isn't just a meme book) or Perl. This will make you an overall better programmer. It's the equivalent of eating vegetables and getting your daily vitamins. You won't see immediate results, but it'll be noticeable when you encounter programmers that code like they can't poo in loo.
If you want a cool job learn SQL and get familiar with databases.
Microsoft Virtual Academy
IntallGentoo Wiki /g/ approved books (I recommend Code by Charles Petzold from their list. Easy read and you learn what's inside the internet machine in front of you)
Fuck you. I'm a cool guy. I'm hip. I'm with it.
I'm a database admin and I like it. The job is really straight forward, and my coworkers and I have a lot of down time since we know what we're doing. The pay is good too.
>The job is really straight forward
Thats cos its easy. Which is also why its as boring as fuck and therefore, by definition, NOT COOL.
Here have some Linus...
"I really never wanted to do source control management at all and felt that it was just about the least interesting thing in the computing world (with the possible exception of databases ;^)"
I get to spend most of my time at work doing personal projects. Yeah the actual work itself isn't the most glamorous, but it pays the bills and funds my hobbies.
Going to work doesn't seem to be as much of a chore since it's essentially sandbox time for me. I've also built up enough of a portfolio at work with certs and programming projects that finding a new job wouldn't be difficult if I were to get bored.
>drivel, its no more "specific" than the other languages you name
Swift is only good for IOS development. If your using it for anything else you shouldn't be programming in the first place.
>so other languages incorprorate non-coding aspects? Utterly meaningless. dont post unless you know what you're talking about.
By non-coding aspects I was referring to its dependence on advanced IDEs such as Xcode UI to produce anything meaningful. Which kind of defeats the purpose of having a programming language in the first place.
>what the fuck does that mean? there is no "wide range of coding disciplines". You're just stringing words together.
>nope just plain wrong, really, dude, shut the fuck up. Swift has been open sourced, and even before it was you could use it on osx too, so once again, you're talking shit.
Calm down Swiftfag. See my first point.
If OP works primarily on Macs then why not use the dominant language for his platform?
>Only used by a single company
That single company makes up a significant portion of the market though.
Swift is a great language. It along with D are my goto C++ replacements.
The thing is there are really not a lot of resources of Swift for first time coders.
Java: Its a stupid language for stupid people; you get no pointers (or better yet, only pointers), no sane way to work with memory allocation and a weird reliance on exceptions.
C++: A beginner shouldn't be concern with namespaces. Actually nobody should... Or having to chose a sane subset of language because of how insanely complex it is.
Ok genius, please do tell me why its not a "rational choice" in this instance. I'm on a mac, the customer is on a mac. I'm working on a new product, swift is apples new language and its fast enough. So, go ahead, clue me in.
What are the other options?
Emacs, Vim, or whatever shit IDE comes with meme language #23974?
Swift is basically perfect for someone using a Mac who wants to get started programming. Instead of learning tedious minutiae to perform basic tasks, OP can get started doing cool shit backed up by fantastic integrated documentation and tutorials.
If OP later wants to make cross platform programs or do something more specific, picking up a new language should be rather simple now that he will have learned how to program in a comfy helpful environment.
tl;dr non-macfags butthurt and jelly
The other options are not using a language that is only available for a single brand
If OP wants to make cool shit fast he could learn any of the web dev languages and make code that can actually be displayed on multiple devices.
If he is only just getting started, what difference does cross platform support make? He should probably focus on the task at hand rather than imaginary and irrelevant future contingencies.
I have no fucking clue why I learn which. I'll probably end up a sysadmin so Python will be the best for that though. Everything else I'm learning just to learn it.
>By non-coding aspects I was referring to its dependence on advanced IDEs such as Xcode UI to produce anything meaningful. Which kind of defeats the purpose of having a programming language in the first place.
isn't this the same story as programming langs made by microsoft?
how does open-sourcing something make it automagically multi-platform?
Learn C++. It's the foundation of most object oriented programming structures.
You don't learn C++ because you expect to program in it, you learn it so you understand the basics of every other worthwhile language.
Yes and no. Database Administration can easily be one of the most stressful jobs you'll ever have. The reason being that if you fuck up, the entire business is jacked. Programming fuckups are usually fixable.