[ 3 / biz / cgl / ck / diy / fa / ic / jp / lit / sci / vr / vt ] [ index / top / reports ] [ become a patron ] [ status ]
2023-11: Warosu is now out of extended maintenance.

/sci/ - Science & Math


View post   

File: 14 KB, 275x183, programming.jpg [View same] [iqdb] [saucenao] [google]
11659119 No.11659119 [Reply] [Original]

What is the best way to get into programming ?

>> No.11659120

go to /g/

>> No.11659126

>>11659119

download countless books and dont read any of them

never code anything and just LARP on /g/ and make fun of python and pajeets 24/7

that will make you a great programmer

>> No.11659135

https://www.learncpp.com/

>> No.11659140

Ok I'll bite cause /sci/ is such a nice board.

Do pretty much the opposite of every meme on /g/ - those guys are fucking losers and tranvestites and hardly anyone there is gainfully employed in IT.

Yes, learn python

>> No.11659147

>>11659119
I like this one: https://www.youtube.com/watch?v=nykOeWgQcHM&list=PLUl4u3cNGP63WbdFxL8giv4yhgdMGaZNA&index=1

>> No.11659155

>>11659140
>Do pretty much the opposite of every meme on /g/ - those guys are fucking losers and tranvestites and hardly anyone there is gainfully employed in IT.
this. dont pick up any meme /g/ book or anyway /g/ tells you to do. best way depends on what you want to do. generally id pick up an orielly book on the topic read the first introduction part to see if the book is right for you (it tells you the audience of the book so someone who programmed before or so on) then follow the book do all the examples. after that get different books into certain topics that you find interesting. there are other paths but i think that will end up with the best outcome. there are "faster" ways. my autistic mind picked up programming pretty fast in highschool so i didnt really need to fight learning curve

>> No.11659222

>>11659120
I came to /sci/, because I wanted to learn how to create a Algorithm.

>> No.11659230

>>11659119
Don't learn python, learn c++ instead.

>> No.11659445

>>11659119
First, pick a language. C++ is probably not a good place to start despite what people might tell you.
Then, look at som video tutorials covering basic programming concepts like variables, loops, methods, etc.
Finally, grind problems on projecteuler, codeabbey or similar websites until you git gud. Use google any time you get stuck.

>> No.11659474

>>11659119

I would learn Python first to pick up programming as a fun habit, like practicing a language or an instrument. After you get comfortable with Python, you SHOULD learn a language like C++ that gets you into pointers and editing memory up close and personal.

I found learning C++ before Python to be revolting and slower paced. Some people argue it makes you a better programmer, though. I do not agree with them, as long as you are mindful about how easy Python really is.

>> No.11659479

>>11659119
SICP

>> No.11659488

>>11659119
attend one of the top schools and go work in a very top-tier company or research lab - that is the ONLY way to learn. There are some techniques now that are just too hard to learn on your own without the massive infrastructure and resources firms have.

>> No.11659495

>>11659126
you don't need to larp as a programmer or be one to make fun of the shit software written by those street shitters

>> No.11659528

>>11659222
All you need is this website
https://teachyourselfcs.com/
and four years of studying
Good luck

>> No.11659536

Download a pdf, any pdf. Download an IDE. Turn off the internet. Study the pdf.

>> No.11659550

May I shill for HASKELL?

>> No.11659552

>>11659119
If you don't want to feel too much pain and can stand not being competitive just read the Python tutorial and start writing code. ABC - always be coding. I should take my own advice.

>> No.11659622

SICP

>> No.11661054

As has been said many times in this thread: Start with python. It's a shitty language, and you might end up hating it after having learnt other languages. But python is really great at providing a gentle introduction to programming, letting you focus on the basic, universal concepts. Also the module system is REALLY good for collaboration, and doing cool shit without having to implement everything yourself.

Here is a good book:
https://hplgit.github.io/primer.html/doc/pub/half/book.pdf
Read text, do problems until done.

>> No.11661112

>>11659222
create an algorithm to do what? You should start by searching whats an algorithm then looking into basic sorting algorithms, and so on...

>> No.11661118

>>11659119
>http://sarabander.github.io/sicp/

>> No.11661131

>>11659230
>c++
why?
for scientific and mathematical purposes python is much better suited than c++, which is what I'm assuming op intends given they're asking here and on on /g/

>> No.11661203

>>11659119
First I think it's important to be aware of a few traps:

First, start with something simple. I.e. don't start with C++ or Java, try instead Python or JavaScript. The latter are languages with very simple syntax which can help you get into the feel of programming. Understand how to translate ideas into algorithms.

Second, don't watch video tutorials. They're absolute shit, you usually just end up just watching and copying what you see in the video without really understanding what you're doing. Instead you should just take some simple code and play around with it. Try to make a calculator, have the calculator solve different maths problems. Playing around with the code will make you understand it better.

As an illustration, here's some python which takes user unput and prints it to the screen and the number 4, then checks if the user typed in the number 4:

#take in text input
inp = input()
#print input to screen
print(inp)
#declare variable "four" as 4 by parsing "2 + 2"
four = eval("2 + 2")
#print 4
print(four)
#check if the number 4 was written; if so, print "you typed the number 4".
#since 4 is a number, we need to type str() around it to tell the computer that we want to interpret it as text.
#otherwise, the computer would get confused as to why we're trying to compare a string of text to a number.
if inp==str(four): print("you typed the number 4")
else: print("you didn't type the number 4")

Go ahead and start playing with this code, see what you can come up with. It has all the components you need to get started, so go wild.

Oh, and lastly, don't get too ambitios, try just doing simple stuff and take it step by step, don't try making your magnum opus the second you get the hang of things. Try taking gradual steps towards making what you want, each time finishing a project before moving on to the next.

>> No.11661248
File: 353 KB, 2362x2362, ltLZfkV.jpg [View same] [iqdb] [saucenao] [google]
11661248

>>11659479
>>11659119
this

>> No.11661250
File: 913 KB, 884x607, 1587159059352.png [View same] [iqdb] [saucenao] [google]
11661250

>>11659119
phd candidate with cs background (among others)

learn C. come up projects you are interested in. program them. a lot of them.

>> No.11661499

>>11661131
anon recommended learning C++ over Python because C++ is a lower level language.
he wanted you to develop strong conceptual foundations and understand how computers really work before moving on to more advanced languages.
i too am autistic and did not trust the black box to behave as alleged. to this day i don't know how to program. please stay results oriented. learn python. watch khan. there's more to life than beautiful patterns.

>> No.11661577

>>11659222
Here's an algorithm
Step 1. Go to >>/g/
Step 2. Repeat step 1

>> No.11662357

>>11661250
based

>> No.11662382

>>11661499
You have to learn fucking all of them. Your low-level algorithms are going to be written in C, C++, Fortran or Julia. You result analysis and visualization scripts are going to be written in Python, maybe Julia in the future, or R. You will at some point inherit some oldfart code written in IDL. You really want to be somewhat knowledgable about most of these. With growing availability of clusters, you also have to be able to do some basic scripting for scheduling and queue submission / management. Docker is slowly moving into science projects. Always keep learning the new shit.

>> No.11662397

>>11659536
did this
I downloaded critique of pure reason by Kant still can't into cs

>> No.11662428

>>11659147
>female

lel

>> No.11662440
File: 249 KB, 2516x1008, 1508973649925.png [View same] [iqdb] [saucenao] [google]
11662440

>>11662397
Try the Tractatus Logico-Philosophicus. Thank me later.

>> No.11662514

>>11661577
Infinite recursive algorithm that never reaches a base. This guy is demonstrably shit at coding.

>> No.11662672

>>11659495

> USB was invented by a pajeet
> the number 0 and consecutively every IT technology you use was made possible by a pajeet

get off the internet retard

>> No.11662682

>>11659495
>t. /g/ tranny, running Void Linux on a used ThinkPad with anime wallpaper

>> No.11662688

>>11659119
there are literally thousands of perfectly adequate resources out there, all of which you can access for free.
The trick is to actually read the books, watch the lectures, and do the assigned problems.
Simply downloading the books and storing them somewhere on your hard drive will not help.

>> No.11662895

>>11662672
>>11662682
Scream louder, pajeets

>> No.11662918
File: 7 KB, 224x224, 1588748638956.jpg [View same] [iqdb] [saucenao] [google]
11662918

>>11659119
First, get a standard calculus text and dive in. You should also get linear algebra and discrete math books as well; make sure the discrete text is proof based.

Once you're a couple chapters in to your discrete book (you will want to have covered basic proposition and higher order logic, and basic proofs), you may begin learning programming and computer architecture. As a litmus test, if you don't know what this statement is

∀P((0∈P∧∀i(i∈P-->i+1∈P))-->∀n(n∈P))

you aren't ready to take the reins of a computer.

Now, forget what you do know about computer programming:

First, you learn boolean logic operations
then, you learn transistor logic
then, you learn how to build functional units from logic gates
then, you learn CPU design
then, and only then, you learn assembly language
then, after you have mastered assembly language (not dabbled, but mastered it), you learn C
then, after you have mastered C, you may learn the higher-level languages of your choice, but you will always use C and assembly as your primary languages because everything else is unnecessary bloat.

By this time you should be finished with your first wave of math and ready for the next: abstract algebra, analysis, multivariate and vector calculus, and, after you have progressed a way in those, topology.

Finally, you become familiar with topoi, and study the internal logic of categories
then familiarize yourself with (general) type theory, and its applications to programming. I also recommend studying how to reformulate mathematics in terms of globular categories for use in automatic theorem proving, because there is an inherent programming-like 'feel' to it.

>> No.11662941
File: 305 KB, 640x974, 2f689fd16822433abca7a66f7a2643fb.png [View same] [iqdb] [saucenao] [google]
11662941

>>11659479
SICP is pretty hard though, at least the exercises. I am currently reading it (at chap 3.4) and I am still getting my ass handed to me sometimes.

But yes, SICP is really good.

>> No.11662963
File: 1.63 MB, 360x270, 1441251809444.gif [View same] [iqdb] [saucenao] [google]
11662963

>>11662672
>and consecutively every IT technology you use was made possible by a pajeet

>> No.11662975

>>11662918
Lol all of that is taught in the math review chapters of most algo textbooks

>> No.11663460

>>11662918
brainlet

>> No.11663481

>>11662918
You are disgusting

>> No.11663613

>>11662895

keep using binary, invented by indians retard

>> No.11663634

>>11661499
Why is it that python is better than C++? My understanding is that C++ and FORTRAN are more widely used in scientific programming. Personally, I am learning C++ only because I want to do mathematical programming and don't want to spend any additional time learning many languages. That is, any more time than absolutely required.

>> No.11664103

>>11662918
lol in python to print something to the screen you just type print("something") what the fuck is all that math shit you are talking about hahaha

>> No.11664116

>>11661250
This has worked for me. I'm a pure math student but I wanted to get into programming. Been learning C with a book and I really enjoy it.

>> No.11664165

>>11664103
Brainlet detected.

>> No.11664204

>>11664165
op is probably already a better programmer than you

>> No.11664208

>>11664204

nobody that posts here is good at anything or better than anybody at anything

>> No.11664216

>>11662918
Spoken like a true /g/ tranny

>> No.11664289

>>11659119
Start with the fundamentals: HTML. Before computers existed, humans were already programming in HTML. Once you understand the basics, take a step up the ladder into Java. Most processors, including ARM, started as Java interpreters. After much innovation, the processors began accepting other instruction sets, such as RISC and C++. Once you learn Java, you can start learning object oriented programming with Matlab. That way, you will be more hireable. Employers want you to be on the cutting edge of technology. If you are able to grasp the multiple dimensional objects of Matlab, you are finally prepared for assembly. After the great unification, all computers were standardized to accept assembly codes, which are shortened JavaScript and C words. These talk directly to the computer and enable you to hack just about anything in the entire world.

>> No.11664322

>>11664289
>accepting other instruction sets, such as RISC and C++.
what the fuck

>> No.11664330

>>11664322
THAT'S where your "wtf" triggers?

>> No.11664354

>>11664289
based

>> No.11664418

>>11662918
Okay, but none of that shit matters if you don't know how to invert a binary tree.

>> No.11664530

>>11664289
this

>> No.11664724

>>11664289
The things is I don't wanna get hired.

I just want to programm some Algorithms and solve some problems I have.

>> No.11664737
File: 38 KB, 170x170, 1588202295281.png [View same] [iqdb] [saucenao] [google]
11664737

>>11664289
damn, seymour cray in here spilling his trade secrets

>> No.11664746

>>11659119
>visualise a goal
>progress toward the goal
>achieve goal

>> No.11664821
File: 49 KB, 600x528, Forty_keks.jpg [View same] [iqdb] [saucenao] [google]
11664821

>>11664289
fuck, my sides

>> No.11665588

>>11662428
You're an idiot, and I really mean that.

>> No.11665592

>>11664289
You forgot PHP.

>> No.11665659

>>11659119
Do these exercsises from codeforces, search up anything you don't understand.
Once you've done a couple hundred of them start getting into codeforces contests, they're pretty cool.
Once you do enough of these you'll literally feel your brain change and will approach most problems differently. Also try to solve the easy ones by yourself, even if the code ends up being a mess, if you feel like there was an easier answer you didn't come up with look up the tutorial on the side of the page and code it yourself.

https://www.a2oj.com/Ladders.html

>> No.11665739

Do I need to take HRT to be a good programmer?

>> No.11665755

>>11665739
maybe. do you have a vagina? if so, probably

>> No.11665783

>>11659222
Read Introduction to Algorithms by Thomas H Cormin

>> No.11665791

>>11665739
HRT makes you a worse programmer because it makes your brain feel more gooie.

>> No.11665855

>>11659119
>the best way
From scratch https://learnaifromscratch.github.io/software.html

>>11665659
The code is supposed to be a mess for contests though, the goal is to hack your source as much as possible in order to bypass their judging runtime constraints. For example in competition you would nest ternary operators and regex so badly that you would be unable to read your own code a day later and inline literally every function, library imports more than usual to avoid compilation errors, and whatever the problem statement memory allowance you declare this as a gigantic global array and never free any allocated memory either.

Competition programming for sure teaches problem solving skills and McGuyver levels of on the fly code optimization but you would never write code like that anywhere else so I wouldn't worry if the code looks like absolute ass

>>11663634
Language doesn't matter the libraries do if you're a scientist. That's why stat grads use R, and everybody else uses some pre-packaged variant of Python (anaconda) where hypotenuse is confirmed first then you transfer it all over to whatever language is best suited to run at huge scale or for running in a proven environment and often this is Fortran because those libraries have helped write decades of papers, you don't want to take a chance on whatever X language library and discover it had a bug that invalidated all your results, and some junior grad comes along and disproves your whole thesis and now you're the laughing stock of whatever academia you're in

>> No.11665954

don't.

if you insist, try implementing some common algorithms in a good lisp dialect or C, or even assembly.

>> No.11666127

>>11665791
but i heard that the best way to improve programming skills was taking hrt and using thigh high socks...

>> No.11666978

just scrolled through the thread and of course the autists at /sci/ are recommending shit like c, assembly and haskell. just learn python or javascript + html op

>> No.11667007
File: 98 KB, 800x450, National-Programming-Skills-Report-Engineers-2017-In-INDIA.jpg [View same] [iqdb] [saucenao] [google]
11667007

>>11662672

> USB was invented by a pajeet
> the number 0 and consecutively every IT technology you use was made possible by a pajeet

Cherry picking, suppressing evidence, or the fallacy of incomplete evidence are not a good arguments.

https://en.wikipedia.org/wiki/Cherry_picking

The fact is that 95 PERCENT of IT “Engineers” in India CANT write good program code.

http://newobserveronline.com/95-of-it-engineers-in-india-incapable-new-report-reveals/?__cf_chl_jschl_tk__=e8d130e7b729a702fbcc69a558cdd8aaf0bcb57e-1589366916-0-AYD4lNXKPvNRcsryKzBWihnPj9Oon-aNdaQvkI937kr4YVnl8KXuyYdl7YPJ3EfJra71_EhCzHwDh7cvw9yJ-rK2JbzADxhVvMfNcVnQEwv3JV9tlE_Z0IbiIcawuFooTAuiJ-62m-RzlvAhOICDuT48HAOkCDzbE7mqVyhKiQOszXbCnEAdlilSSQ7u5tHD2BF7Knr-WVUvIWjunFtL-2DQt3unTF-ogOr-t5A_DFz3bdPaqN9QI9w7ek0woa8Hkeji4dQE8QnW1pNB0e6O9NOJN3q6c3VkYAU_AAxpKg6IdYpLPZ3YT_3dpQDihXvZo1UVSivyxma_oYGEE-QAXa09qM_QHnMTaQspqgNG08VF

>> No.11667017

>>11659147
>40min in
"x=x+1 isn't an equation but an assignment"
holy shit this is slow as molasses

>> No.11667021

>>11667007
the fact that 2.21% of 1 trillion can should worry you more than the rest of IT support monkeys.

but you are too deep in your racist bubble to realize that

>> No.11667068

>>11667021
>1 trillion
Didn't know that India had over 100times the amount of the worlds population

>> No.11667094

>>11664289
most solid advice itt

>> No.11667096

>>11659119
By programming something

>> No.11667253
File: 138 KB, 1136x524, Chinese honesty is a unfunny joke.jpg [View same] [iqdb] [saucenao] [google]
11667253

>>11667021
>you are too deep in your racist bubble

I am not racist. I can I can appreciate a good professional regardless of his: age, religion, skin colour, gender, country of origin. But the fact is that most Indians who supposedly have IT education ARE NOT good professionals.In general, Asians often seem to underestimate honesty and integrity, especially Chinese and Indian people who seem to be masters of the art of deception, copying someone else's ideas and presenting them as their own, stealing intellectual property. Why do you think that institutions related to cyber security, for example, are often afraid to employ Chinese people? The answer is obvious - because Chinese computer scientists are surprisingly often disloyal to the government of the country that hired them and very loyal to the Chinese government, creating the danger of leakage of secret data that should not leak, and also secretly sending this data for the benefit of China and at the loss of the countries that hired them.

https://www.huffpost.com/entry/college-applicants-cheat_b_1074544?guccounter=1&guce_referrer=aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8&guce_referrer_sig=AQAAADyA-Uh12DT_eL52onQdOpwwli_nK9IvQQrAZV5d4_4fLwNKdXf1_aT9oKZTQcUvwUThvS8rbTLViUlFZQNVT3XJ5gCchFBn5UqkKgIe5g3yH3GseaO0N27WNZaT9t0eP8rEVe3gdidwM7xMILUoncktM97Vb8o1LbBjM2Y-AMHB

https://www.scmp.com/comment/insight-opinion/article/1974986/why-do-chinese-students-think-its-ok-cheat

>> No.11667254

>>11667021
>1 trillion
top kek

>> No.11667320

>>11667253

IT educated from india doesn't mean anything as long as its not from a reputable university
who would have thought? you are trying to shit on people that come from the best unis worldwide because you are mixing them up with literal slumdogs that did not even attend basic schooling and take some pathetic course in the hopes to get a better life

will your community college educated IT person from a white country be better than some kid that took a durga soft course? obviuously
will they ever hold a candle to people from the IITs? nope , not in a million years

>> No.11667523

>>11662975
>>11663460
>>11663481
>>11664103

>t. codemonkeys without a holistic understanding of computation

>> No.11668322

>>11659119
>What is the best way to get into programming
Learn Middle School Algebra
Learn C++20
Learn Precalculus
Learn Data Structures and Algorithms in C++
Learn System Programming
Learn Computer Architecture
Learn Proofs
Learn Algorithm Design
Learn Networking
Learn Operating Systems Concepts

https://4chan-science.wikia.com/wiki/Computer_Science_and_Engineering

>> No.11668419

when will we rise up In a furious rage when we realize coding is so easy it can be taught to children alongside the alphabet but they didn't do that for us and aren't even considering making it standard educational practice and the only kids who are exposed to it are the children of the filthy rich???

>> No.11668580

>>11668419
Coding and digital logic are being taught to elementary kids in a growing number of schools.

>> No.11668604

>>11668322
>Introduction to the Theory of Computation by Sipser
>anyone who completes the book will know the subject better than 99.95% of CS majors and will be able to easily call them out when they butcher and grossly misrepresent it (which they do quite often).
kek

>> No.11668617
File: 251 KB, 605x789, Taking_Care_of_myself_hygiene_puberty_personal_curriculum_for_young_people_with_autism_978-1-885477-94-1.jpg [View same] [iqdb] [saucenao] [google]
11668617

>>11659119
Start here

>> No.11668639 [DELETED] 
File: 13 KB, 411x387, 1562646201619.png [View same] [iqdb] [saucenao] [google]
11668639

how high does your IQ have to be to solve this?

>> No.11668647
File: 265 KB, 600x600, 1573491991855.jpg [View same] [iqdb] [saucenao] [google]
11668647

how high does your IQ has to be to solve this?

https://www.hackerrank.com/contests/w36/challenges/expert-computation/problem

>> No.11668658

Through sudden, unexpected nepotism.

>> No.11668675

>>11665588
she really means it guys from the bottom of her whorish heart

>> No.11668760

highest ranking female programmer

https://www.hackerrank.com/xiper?hr_r=1

>> No.11669457

>>11668604
that's not anywhere in the link brah u trollin

>> No.11669472
File: 9 KB, 195x259, images.jpg [View same] [iqdb] [saucenao] [google]
11669472

>>11659119

RESOURCE DUMP
https://exercism.io/
https://www.hackerrank.com/
https://hackr.io/
https://leetcode.com/
https://projecteuler.net/
https://learnxinyminutes.com/
https://www.codecademy.com/

Just a couple that ive stumbled across.
learnxinyminutes is amazing but you've gotta know a bit of code first.

Start with python.

>> No.11669609

>>11659550
No, take your autism elsewhere

>> No.11669647

>>11659119
Be project focused.
Figure out things you want to do and then orient your learning in that direction. Start with the basics and then find out the specific shit you need for that project.
After long enough, you realize you have a working knowledge of the language.

Start with Python because it has the highest productivity per amount of time.

>> No.11669799

>>11665855
>Competition programming for sure teaches problem solving skills and McGuyver levels of on the fly code optimization but you would never write code like that anywhere else so I wouldn't worry if the code looks like absolute ass
Yeah I know that coding during a constest is much different from acutal coding projects, but if a problem mertis it might as well analyse it a t the end and have a good version of the code for further reference and study, also, codign ti agian will help you truly refine your understanding and remember it for later.

>> No.11669802

>>11669799
sorry, phone poster

>> No.11669850

Java is the better starter language than Python

>> No.11669852

>>11669850
No and kill yourself

>> No.11669861

>>11659119
Learn Haskell

>> No.11669870

>>11669852
Nope python is baby language for babies, I would tell you to kill yourself but it’s unsportsmanlike to bully babies

>> No.11669914

isn't it a good idea to start at the low level bottom with beneater and circuit shit and work your way up?

>> No.11669917

>>11669914
Start with the quarks.

>> No.11669929
File: 278 KB, 506x662, webassembly.png [View same] [iqdb] [saucenao] [google]
11669929

>>11659119
>>11669914
Your right you should always start with a low level language so that you have a good base to build understanding from. Pic related is a great place to start

>> No.11669935

>>11669917
well the idea would be to really be on the math path picking up relevant concepts as you go along, no? don't most people know why we have a cpu clock speed issue? heat transfer isn't exactly simple

>> No.11669939

>>11669929
webdev shit is for women tho, I want to be a wizard thing like on the cover of scip

>> No.11669960

>>11669939
unless you want to compete for shit pay to build games or grind a Phd for ML its pretty much all web dev.

>> No.11670036

>>11662918
nice meme

>> No.11670061

>>11669960
You don't need money if you're a wizard, duh