I've never programmed before and i was wondering should i start with C or Python
My "end goal" is to be efficient at linux. plz help
I've never programmed before and i was wondering should i start with C or Python
My "end goal" is to be efficient at linux. plz help
Other urls found in this thread:
automatetheboringstuff.com
greenteapress.com
linuxcommand.org
eloquentjavascript.net
iso-9899.info
youtube.com
quora.com
twitter.com
Stay far away from python until you're competent with fundamentals of programming. Otherwise it will just confused you when learning other languages.
>efficient at GNU/Linux
bash
C, then Scheme, then Python
Neither,
learn Javascript.
Python --> C++ --> ASM
Prove me wrong.
(OP)
I found Python pretty easy, but later on when you plan on learning other languages it might get a bit confusing, I would advise you to start with C or Java.
Should i first learn C or bash btw thx for informing me about dash
Learn c or c++. The vast majority of languages including python use c style syntax so if you learn either one you'll have an easy time with the vast majority of languages out there.
C without question
I learned bash and python. i'm only a hobbyist so it just werks for me.
Use python for learning about oop and other concepts which have a relatively high level of abstraction. Use C for learning how computers work on a lower level, things such as memory management. Start with python for now and start C when you are comfortable with python.
Start with C/C++.
Then you can just move to Java/C# where everything is done for you, but at least you know what's going on.
You should probably learn a scripting language too. Just learn Javascript.
this, don't just "jump" onto the next language as soon as you have the basics down. you should master your first language and get all the concepts down pat before moving on to your second one
Learn basic, then JavaScript, then c & c++, then perl 6, then python, then R, then etc...
>My "end goal" is to be efficient at linux. plz help
Python for sure then. It was actually designed with Unix scripting in mind. While you're learning Python, learn Bash scripting as well.
Here's three learning resources to use:
greenteapress.com
Please don't listen to all the anons shilling C in this thread. You should eventually learn C, as it gives you insight into how your computer actually works when you're programming. But I don't think it would be a good introduction for you.
Trust me -- between Python and Bash, you will feel like an absolute fucking wizard. Best part of all is: you'll be writing scripts and programs you can actually *use* in your day-to-day tasks.
Anyone who used to absolutely suck at programming and managed to learn it, any advice on how you did it?
This, If you want to be "efficient at Linux", in terms of knowing your way around shell.
If you want to learn a real language, learn C++. That way you'll learn enough of C that you could apply yourself to a project if it crossed your path. You'll also be prepared for higher level languages like Java and C#. Don't listen to anyone telling you to start of with C, they are either trolling, had closer relevance to the language because they are older, or have a very unattached perspective to the modern software world.
TLDR Don't mess with C unless you have to.
>dont start at C
>on a OS who's foundations are C
>where C is simpler and more efficient
>but dont do it
>because i liek c++
If you actually bothered to read my post, you'd know that I said to start with C++ so you could work your way to C, if you actually needed to.
Will learning JavaScript make it easier to pick up other languages or should I start somewhere else?
Start with python, then c.
The if statements are retarded in that pic desu
What's a better way to write it?
Learning C explains a lot of bash's weirdness.
No, because while the syntax looks similar to C or Java, the way scope works in JS is much different from the other mainstream languages. The same goes for object inheritance -- OOP is there in JS but it works differently than in C++, Java, and other OOP languages.
I'm this user and my vote is for either C or Python for a first language. Really, the book you use is arguably more important than the language, and I recommend this one:
greenteapress.com
>If you want to learn a real language, learn C++.
>That way you'll learn enough of C
that is a stupid advice, you know?
Yes. If you don't know what an if statement is or what a function call does, then it'll help a lot.
Ignore , they have forgotten what it was like to learn their first language.
If you really, really want to listen to this douchebag (I truly can't believe what a faggot he is) then I would like you to check out this book, which I have heard good things about:
I'm at chapter 5 at the moment and I have read the first two books of You Don't Know JS. Currently reading through The Definitive Guide to get all the stuff into my head, because I tend to forgot that stuff that could be useful to me existed at all while solving some problems.
I asked because my current laptop can't run Visual Studio, or I imagine any other things that are used for a more demanding language. That's why I asked if it's ok to stick to JS right now, maybe a job as Web Dev pops up, who knows.
Thanks for the help.
Any good C book for a beginner coming from Java guys? As long as its intuitive, I will read it.
Also, is cs50 harvard mooc course as good as reddit shills?
I hate myself for saying this, but I suggest starting with Go. Unlike C, you won't have to deal with headers and linking, and stuff will "just work". It has a very fast compile time so it feels dynamic to use. And since it's garbage collected, it's memory safe.
It is very explicit in every detail (explicit pointers/references, fixed size arrays & slices, etc etc), so you will have a much better map of how a computer works than if you started with Python. Not quite as good as if you used C, but without the bad habits that focusing on those aspects early might give you, and it's much harder to screw up and produce complete garbage with it than with C. It compiles to native binaries unlike Python, so you can actually write stuff like command-line tools with it.
It has very few basic features, which makes it easy to learn, and it's one defining feature is interfaces. Learning to program to an interface will give you good habits in other programming languages.
Like C, it lacks some more advanced features (generics), which makes it somewhat tedious for experienced programmers to use, but easier for novices to learn. It's very opinionated towards imperative programming. Regardless of your choice, stay humble about your choice of language and do not be scared to eventually learn languages that are viewed as more "advanced" or which use a different paradigm. The nice thing about starting with Go is that you'll have an easier time appreciating the features in those other languages when you learn them.
Followed by an even dumber rebuttal, you know?
Also again, more things I never said. You will learn enough of the C-Syntax fundamentals to go off and learn C
Also, learning C if you know Go is very easy. The languages are very similar to each other and the only thing you'll need to adjust to is the use of pointer arithmetic instead of slices, less helpful error messages, and having to manually allocate and free heap memory.
Any X language for Y programmers books are trash, you gotta get to da root of ja language y'know rudie?
why is that course organised like a game show?
I went: Turing -> Visual Basic -> Lisp -> C -> C++ -> JavaScript -> Java.
Now I only really need to use C/C++.
I don't know. I heard etc has some security problems
this
bash's syntax is disgusting, particularly once you start doing things you should really use a proper programming language for (although bash is featureful enough to let you write your logic mostly in shell script anyway)
but it's pretty impressive what you can put together as a bash script, and you'll learn gobs about Linux
Once a fan asked Bruce Lee, "how can I punch fast like you?",
Bruce Lee replied, "Punch faster".
Practice, like anything else in life, user.
Can someone tell me how to get better at logic? I'm not searching for a quick fix, just a way that I should choose in order to gain decent results.
I know practice practice practice. But I think some guidelines could be useful.
A few days ago I literally wrote a statement that said "If this is true and this is true and this is true and this is true... do this"
What the fuck is wrong with me. I looked up the example and the easier way was thinking the other way around.
What did you use to learn bash?
i just kept doing it until i slowly picked up on it. the idea that anybody was always good is silly. even after 4 years at a university most programmers are still confused by compiler warnings about missing semicolons. it takes time and practice. learning c first really helped me and learning how compilers work was even more helpful. you don't have to learn enough to write a compiler, but understanding the what and why of languages is the fastest way to understanding how simple they actually are.
If you learn C, learning python after will be a breeze and very quick.
If you learn python, learning C after will be very difficult and take a long time.
The answer is obvious from above.
Java, C/C++, Python
>Recommends C++
>Doesn't recommend any books
good advice
If you need you be spoon-fed everything like a brainlet, programming isn't for you.
user I hope you realize that the disparity in answers comes because there's no right answer.
Nobody asks you to explain your 'efficient at Linux' statement that can mean so many things. I'd be very sceptical of all of this.
That said. If you mean 'efficient at Linux' as in being an efficient user for your own machine then bash is a good answer.
C
- more to study
- force you to learn fundamentals
- can do more if you have the talent
- programmer has more control
- is usually the first language supported for new processors
PYTHON
- quick to study
- convenient
- can do a lot of things as long as there is a library for it
- lots of libraries available
What do I need to install to make python do stuff when I write a script in python? How does Python translate words into actions?
please kill yourself
python is a scripting language
do not use it to design systems.
do not even attempt to use it to prototype or model systems
it is literally just for making scripts where it can be an alternative to bash.
wrong.
enjoy your hell then
Bash script a discord bot then.
If you’re going to learn on Linux, definitely go with C. It will give you a solid foundation for learning other languages, including python. Learning Python however will just confuse you when you try to learn C.
you really need to work on your reading comprehension
You really need to work on understanding what 'reading comprehension' means.
>taking the bait
You need neither to be efficient at linux. That being said linux is written in C so learning C can give you an unneccessarily in depth understanding of linux.
Hang yourself
>bash
Disgusting. I think you meant to say "POSIX shell".
Any proficient GNU/Linux (or other Unix-like system) user should be proficient in C.
Python is just for meme shit.
$ man bash
>using discord
But give one reason why you cannot using system tools like coreutils/curl
>My "end goal" is to be efficient at linux.
bash is the scripting language for linux, or some variant thereof
If you want to learn programming then do Scheme for all I care. Python has jumped the shark and only a fool would bother learning it at this point.
Start with C. Mainly as background theory to understand what the fuck you're doing.
Then actually make things in python.
Just use Java
This unironically.
Java will let you make anything and for 90% of things it will actually also be a good fit.
Backend for a CRUD app? Java
Backend for a realtime app with low latency? Java (vert.x)
Android App? Java/Kotlin
Machine Learning? Java (dl4j)
Game where graphics isn't top priority? Java (minecraft, slay the spire)
IoT Application? Java
Embedded System? Java
HFT platform? Java
I'd been trying on and off for about 5 years before I actually grasped what I was doing, and I love it now. I'd say just keep working away at projects, read other people's source to get an idea of how they're doing things. Be sure you understand the concept of OOP before you try to do any OOP (made that mistake myself, was writing C++ as if it was C). I've made a lot of progress in the past year I'd say just by giving myself different programs to work on, each focusing on different aspects of programming. Most recent project I did was a seam carving program, which was pretty interesting.
Don't worry about a language, pick something you can understand and use it to learn general programming logic.
Look, if you want to do it properly learn Assembly and use a debugger to examine a linux program, do it all from the command line, use
an editor like vim, it doesn't take long to learn the basics if you aren't a retard despite what people say. Then learn C, also what you've learned from
Assembly will make you a far more intuitive real programmer and it will help you understand virtual memory in whole, knowing where you're writing in memory, understanding pointers, etc.. Then learn about algorithms, applying them in a language like C is perfect too, learn about the problems that can happen too such
as with floats.
Then write userspace linux code, learn the API, get a book on unix programming, replicate some linux applications, honestly write a compiler. Then dive
into the kernel, write linux kernel modules and such. You'll be set.
Do what's enjoyable though but be realistic too. It's so easy to burn yourself out, but you'll get there.
>java hft
>he doesn't know
Wallstreet runs on java and custom built hardware for the actual tx processing
If the function returns a boolean or any number
needHiding = !comp.isNonOpaqueKurataMixing();
If it doesnt return anything that parses to bool without issue use ternary operator
needHiding = !comp.isNonOpaqueKurataMixing() ? true : false;
Learn C first.
Do learn both though.
Python is probs better for job market atm, but if you learn it first you will be lazy and not know how to program.
Learning C first will teach you how to use Python well, and Python will be quick to learn also.
I went VB (you can skip this) -> Java -> More Java -> C# -> Python -> C++
Javascript is for web browsers, I know it, but it's for web browsers
It's Java you dynamic typed pajeet.
C/C++ because most universities are teaching C++ like crazy. I would go with that. It's simple once you get the basics. Python is used by many big companies. So I would learn both but start with C++. Don't let people intimidate you, it's really not that hard and online resources are plentiful. Many modern languages are similar. Once you learn one, you can figure the others out easier. But if you want to learn Linux stuff, try BASH. Use Ubuntu until you are comfortable, then try Debian, Fedora, Arch, or go balls deep and install Gentoo.
Then his improvements still apply.
Learn BASIC. It's a simpler, easier to use version of Fortran, the language of serious computation.
>star with java
> BASIC
> It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.
Dijkstra said that, non me
>c++
>beautiful and clean
Java shits over c++, not just in easy of use and what you can do with it, but in some cases also performance
back up your point
I am not op but is golang a good second language or a language to invest majority of time in? I learned basic concepts of programming with c++ and java and have used it but their documentation and framework information are quite spread out and I just didn't know what to learn effectively about those languages, so now I am learning go, its learning resources are quite nicely contained and I already know what I have to learn after what I am currently learning. But I don't know the use case of it
youtube.com
quora.com
Java being slow and shit is an outdated meme
Start with reading and doing tasks from K&R C book, then learn python and try to write some practical programs.
I meant the 'ease of use' and 'what you can do with it part' but that's my bad for not being specific. I already agree that "lmao java is slow" is a dead meme.
>what you can do with it
what can you not do with C++ that you can do with Java?
not talking about how easy things are
if we're talking "can do with unlimited resources and time" then obviously everything java can do, c++ can do too.
If we're talking "can do with realistic budget of time and resources" then you won't make a server/distributed system in c++ and you won't make a curent gen 3d game in java
I went
C++
Python
Java
JavaScript
C
C++
I'd recommend a variety of languages over many years.
>ASM
>in a world arm and x86_64 are both used a lot.
Good luck learning both architectures asm
Cython
Thank you, so I should start with C first and move from there.
Learn Machine Code > assembly > c > c++ > visual basic > C# > F > Go > RUST > R > then learn PYthon!
Prove me wrong.
They don't know minification, webpack and es6/7/8. They should hang theirself
JavaScript isn't only a scripting language. It does a lot of things verywell