[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y ] [Home]
4chanarchives logo
I want to learn programming. Should I learn a conventional compiled
Images are sometimes not shown due to bandwidth/network limitations. Refreshing the page usually helps.

You are currently reading a thread in /g/ - Technology

Thread replies: 20
Thread images: 1
File: 1d0f4dec977f2478992faade43b7b579.png (109 KB, 1920x1080) Image search: [Google]
1d0f4dec977f2478992faade43b7b579.png
109 KB, 1920x1080
I want to learn programming. Should I learn a conventional compiled language like c or c++ or an interpreted language like python or perl? I'm mainly a linuxfag and I don't care about app or web development.
>>
framing the question this way is stupid, like deciding which natural language you should learn by choosing whichever uses the "k" sound in the most words.

Some interpreted languages are great to learn. others are shit. some compiled languages are great to learn. others are shit.

what's the domain of the outcome you want? do you want to do NLP? AI? info vis?
if you can figure that out, we can at least tell you what sets of languages are popular in that area, and that can give you a sense of which languages you should be thinking about.
>>
>>51997162
Thats up to you Anon, the magic is you can learn both
C is the name of the game for linux but not beginner friendly
Start with bash scripting to get the logic down and to help you in your OS, then move to a language of your choice.
Compiled: Faster, smaller, efficient, good habits
Interp.: Larger (needs an interpreter), better cross platform, relatively slower, bad habits, easier

I personally started with batch scripting, then bash, then Visual Basic .NET, then C, then C++
>>
Want to learn programming? Udacity.com has a course called "introduction to computer science 101" which is actually a course on python programming. It is the best programming course I have ever seen. You will be able to do a lot after that course. You can make useful stuff. It is fantastic and you should check it out. It is free as well. Press the "access course materials" button when enrolling to the individual course.
>>
>>51997162

Let me rephrase my question or at least add some context. I've been the equivalent to a Jr Admin for years and I can write simple bash scripts with no problem so long as they aren't too complex, but any kind of real dev work is completely beyond me at this point. I don't plan to get a job as a developer, but I do want to fill out my resume a little more with some good basic programming experience, even if it's just reading code and being able to tell what's going on.

With that said, I'm leaning towards perl or python to begin with, but I wonder if jumping right into c or c++ would give me a better footing to move into other languages later.
>>
Dude haskell or Javascript is like you know so awesome. You should totally learn it bro.
Function programming beats oops anyday
>>
>>51997850
>reading code and being able to tell what's going on.
this is still meaningless. what kind of code are you going to be looking at? are you going to be poking around in the code other people run on the machines you admin? assuming that's allowed, you should talk to the people running that code, see what they use, and learn the basics of that.

based on what you're telling us, learn any of python/perl/javascript and then revisit this question later.
>>
>>51997577
This is great advice, and I came here to say the same thing.

Learn bash scripting first if you're a linux fag because you've probably already learned the basics just by using the shell. You'll also get the most mileage out of it because it's super easy to automate things for linux with bash.

From there, it's whatever language you want. Since you already have basic programming logic down after learning bash, I'd suggest dabbling in a few languages with different paradigms (ie functional, object oriented, procedural) and see what clicks with you. Also, it gives you a sampling of what kind of learning resources are available for those languages, which is probably the most important thing if you're teaching yourself.
>>
>>51997850
Just grab a programming theory book, figure out the standard algorithms and then give perl a try.
It sounds like you don't really care about the wire ( c/c++ ) and messing with the component parts doesn't seem to be what you're looking for.
Perl gives you all of what you want in one package. You want to develop a little more clearly, fill up your resume with shit you're already good at and can stand to do better. It will also give you some experience reading code and help you figure out what's going on in other languages. Mind you the code context will be a hell of a lot different than what exists for c/c++ and python so you'll only be creating a partition between your current knowledge and the more hardware based languages but I don't see how that's so bad given that you already have a job and it really isn't that difficult once you've got theory and std algorithms down. After that it's just syntax and possibly an outline of the architecture.

Have fun.
>>
>>51997850
> I wonder if jumping right into c or c++ would give me a better footing to move into other languages later.

It won't. Start off with Python. The problem with learning something like c or c++ first is that they let you do some really stupid shit, and you won't know any better because it always seems like a good idea at the time. Plus, you have to learn how to use the compiler properly too. I'm not saying don't use it. Just don't start with it. There's too much to learn, and it will be easy tol get overwhelmed.

Which language to start with can be the hardest choice to make because everyone will tell you they have the right answer and anyone who disagrees with them is an idiot. At this point, there's not really a wrong answer. Just choose a language, learn it, and if you feel like you chose wrong, it'll be a lot easier to learn the "right" language this time around. If you're having trouble deciding, just go with python. It's good enough all around and is beginner friendly.
>>
Learn Go, it's awesome.
>>
>>51997891
This guy is making it sound like you'll be lost in development. Just not true.

As long as you're not making GUIs, which are essentially cross referential interfaces over a weaved set of peripheral components, you aren't going to be running into anything new unless it's deemably so from an abstraction point. That means that the only problem you'll have to deal with is another coder. If you have the theory and algorithms down, all you'll need is a simple cookbook and you're good to go.

He is right about one thing, though. Go talk to the people making the code that you might be working with. Beyond that, theory, standard algorithms, syntax[].

And just so you don't get stuck visiting on the click bait web of programming paradigms on the web, it's all procedural. The "design", that thing shared amongst the humans rather than the compiled and optimized version of what you've written, is the only thing that is different. Instead of wires and black boxes like in procedural, you can go interfaces, boards and parts with OOP or you can try task oriented efficiency as defined by functional programming. They each have their own benefits, in terms of the design. Procedural will offer you a more customized control over the data, Object Oriented will allow you the same level of control but will not be as small or as portable. Functional programming will mostly focus on the already set efficient and "best" patterns for any one particular machine. Sometimes it's difficult to keep your mind thinking this way if you don't have experience with the code and don't have a machine that is disconnected from disruption and distraction but for the most part this is what programming is.

Have fun.
>>
>>51998071
This post is so retarded I don't know where to begin.

You're probably a Java, JavaScript, or Haskell n00b. Those languages make you dumb.
>>
>>51998009
>At this point, there's not really a wrong answer
>assembly
>brainfuck
there is always a wrong answer anon
>>
>>51998042
You, you there. Sell me on go.

Go.
>>
>>51997577
>>>51997162 (OP)
>I personally started with batch scripting, then bash, then Visual Basic .NET, then C, then C++
(but OP, do yourself a favour and never touch VB)
>>
>>52002334

I don't plan on it. I'll learn QT or GTK long before I touch that mess.
>>
Jump straight into java.
>>
>>51997162
I heard people say that starting with C or C++ is the best way to learn "proper" programming. I personally started with C# and javascript and cannot second that, since I have been able to properly adopt to language like C++, GLSL/HLSL and Lua. Keep in mind that switching from C++ or the like to more "generous" languages like js is easier than vice versa.

TL;DR If you don't want to program microcontrollers and a non-butt-raping start, go for a more generous language like python or js.
>>
>>51997162
C/C++ are the basis for every programming language worth two shits.
Thread replies: 20
Thread images: 1

banner
banner
[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y] [Home]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
If a post contains personal/copyrighted/illegal content you can contact me at [email protected] with that post and thread number and it will be removed as soon as possible.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com, send takedown notices to them.
This is a 4chan archive - all of the content originated from them. If you need IP information for a Poster - you need to contact them. This website shows only archived content.