Who are faster at programming:

Who are faster at programming:
Self taugh guys
People with bachelor degrees in CS/SE

By faster I mean capable of writing an entire solution, be it a game like minecraft or some database shit, or anything non trivial.

how much time a self taugh guy vesus a guy with a bachelor would take to code something like minecraft?

i think it is varying. depends on what language they use , if its a good student and how much training the non bachelor had. when you have as much exp. as a bachelor prolly youre just as skilled as him/her

You failed from the outset. It isn't about speed, but thoroughness. If you just sit down and start hacking shit up the technical debt will quickly catch up to you and you'll find yourself at an impasse that you cannot overcome and have to scrap everything. Especially for a large project like a full game.

Guys with a good CS education know this, coding bootcampers don't. Now you know why the former gets hired more.

>Who are faster at programming
>who are

poo in loo or chink detected

>technical dept
>implying books dont teach this

>debt
>implying I'm american
such is the life of the freedom land without free college and healthcare.

not european BTW, spic.

i think he meant depth

as you can see english isn't my first language.
ignore my post then.

mine neither and which post was urs

I'm OP

I'm curious how easy is for a guy with bachelors to make some complex and non trivial game or software, compared to a self taugh guy.

Bootcamps and online programming tutorials in fact do not

they teach you how to code

It's like teaching someone 3rd grade English then hoping they can write a nonfiction book.

No, "technical debt". The term is basically a catch all for the problems that crop up when you don't maintain good coding standards. You'll have a wire mess of tightly coupled spaghetti code everywhere, bad testing, bad modulization, and with a project of scale this will lead to a product that doesn't function right and can't be fixed because everything is hopeless and senselessly interconnected and jumbled. The "debt" piles up the more you proceed with poor planning. That's why no one values speed.

thanks It makes sense.

I just entered college to study SE because I've been hitting my limit trying to code on my own.

fucking foreigners ruin this board.

Veeky Forums needs to become anglosphere and japan only.

go check flag board stats
mexicans are the third most popular Veeky Forums user behind UK and USA

after anglos, latinos come in second place.

It's definitely one of the better bang for your buck degrees and you'll be a lot more well rounded

The self-taught kid who is still in k-12 that isn't corrupted by CS departments that insist in authoritative unilateral implementations.

self-taught vs. passive taught
i would say self-taught

If you think CS students aren't forced to self teach all 4 years then you have no tangible concept of the current university system

the degree is simply an audit and certification that you were able to do X years of Y courses with Z marks, if you don't go to school no one will know what you've done other than your word

Everyone here is mainly fucking retarded. A ***GOOD*** CS program will teach you little programming and a lot of math.

So the better programmer will invariably be the one who practices more often and is more motivated to learn more about the ***TRADE*** of programming.

This

>you can't be self taught and have a degree

CS knows shit for math

>CS students are forced to blindly follow and are mostly likely sheep in nature.
>Intellectual curiosity is prohibited. CS is the most authoritative program in universities.
>CS fags lack creativity and are the worst people to be around.
>CS fags think they know math and ML but they really don't
>it's better to major in something else that is sciency/mathy and teach yourself the coding part
>most likely if you're CS you're a code monkey that talks really loud

>CS students are forced to blindly follow and are mostly likely sheep in nature.

No, you are allowed to choose your course work generally after core requirements are completed. This opens up many avenues.

>Intellectual curiosity is prohibited. CS is the most authoritative program in universities.

Bullshit, see previous. Many project courses allow a ton of freedom as well. Once you know the basics you can start branching out.

Not even going to address the rest you idiot

after a while, in math and statistics classes you will be able to stare into a CS fag's eyes and into their soul and realize they are nothing a brainlet hiding behind some code.

and yet they make ten times more making companies that are worth billions while you masturbate to math in a nigger high school teaching to nigglets.

Self taught people are the worst. They usually jump into programming with no logic and write sloppy code.

Okay undergrad, keep telling yourself that.

CS tends to be the most opinionated toxic bunch of people in universities. most of them are /pol/ fags.

this is an example of what you will hear all the time as a CS student

i'd say self taught programmers are usually faster because they treat irrelevant miniscule bullshit framework details like something important, worth knowing, and not just googling it up as you go

their biggest problem is that they don't know what they don't know, are kinda fixated on their tool set, and they lack the common language, making the communication difficult

basically they're savants of the it world. good fit in junior position, and a total pain in ass when leading people.

all the greats were self-taught

it's pretty much true.
statistics and math departments are slowly eating away at CS departments.
i know you know this is happening.

If you self teach is it actually possible to compete with CS majors for the same jobs? And if so what do you need to know to land a job? Who here has done it?

I've been thinking about self teaching but I don't know where to start or how I can present myself to show I have the knowledge to get a job. Would it be possible to learn all the necessary material in 3 months or less? There are a lof of CS jobs where I live but they require a CS degree or years of experience so I worry self teaching will be pointless. I also remember this old guy who said he had been coding for years but know had to go back to school because all jobs required a CS degree.

no, it isn't
most employers don't take you seriously

this totally depends on your background. i heard of a Lisp programmer at Visa that had a background in music or some shit like that. which is a background that requires some creativity btw. mosdef you need a github and a degree, but the degree doesn't have to be CS as long as your github is badass enough. most companies are degree orientated so you need something to get into the door.

Im self taught and entered CS now but I alrdy know all of it practically.

Im better than 90% of the students but i still have learnt some interesting stuff.

The thing is, i had to learn this by myself in 10 years, while ppl here are grasping it much faster than I did.
Maybe one day they would become better than I was before entering the uni, who knows, but I think so.

as long as you have a STEM degree you can apply for pretty much any entry level cs job, as long as you have the basic skills

>how I can present myself to show I have the knowledge to get a job

a github account with toy projects in the language / framework straight out of the job description and you're ahead of 80% of candidates

I go to UC Irvine which is a decent school for CS

The way I see it:
God tier
Self teaches AND has degree
Good tier
Degree
Sloppy tier
Self taught

The students who program in their free time/did it since childhood have easier times with the projects. But at the same time, they still learn efficiency, readability etc.

Fuck you. Anyone who is autistic and can speak English can be here (japs can't).

fwiw if you aren't self thought i.e. you aren't a hobbyist already, someone who enjoys this shit, the workload is going to crush you in like a few years tops

I went to UC Davis and the ML classes in the CS department was taught using Matlab. I was like fuck no.

CS degrees tend to focus on ideas behind the code and not the specific code itself, this is good and bad. Good because you have to appreciate and understand the bigger picture behind important parts of how computers work, bad because it means a whole bunch of shitty programmers can get a CS degree.

I'm on a course now and there are people that have managed to make it to the last year and can't program for shit, they can only hack other peoples code together.

I don't know what its like to be self-taught but I would guess that its the whole 'when your only tool is a hammer every problem looks like a nail', assuming people who self teach don't branch out.

Wow. I don't think I have read a more truer description in my life.

What else do you want to use Python?

Who cares it's just the language. Matlab is literally Matrix Laboratory, and the language of ML is matrices.

Yeah that's basically my big fear. It feels like self teaching mainly applies to older people when computers weren't as big as they are now.

So a degree is necessary then, gotcha. I'll just try and finish my CS degree as soon as possible then. Oh well, thanks for the help.

exactly, you should be able to use whatever you want.

>Who cares it's just the language

this guy knows a lot about programming

Software engineers, by far.

Two big things to take into account.
1) the programmers knowledge of techniques, abstractions, patterns, etc... Can really reduce the amount of time used in the design portion of programming. A software engineering graduate will be trained in these things specifically. A self taught person will be unlikely to know much beyond stuff read on a few random blogs and as a result will be more likely to skip the design stage all together and instead introduce design flaws and severe bugs/limitations into the program.
2) A programmer develops a code base over time, especially those working in OOP. A software engineering graduate is likely to have a smaller but more diverse code base containing many nontrivial bodies of code. A self taught programmer is likely to contain more domain specific code but as much of it comes from online tutorials it isn't likely to be very diverse or difficult to reinvent.

Me again. I'd like to point out that CS people are about on par with self taught people. Like them they aren't trained on patterns or other design techniques. Instead a computer science student focuses on theory and learns to program things that few people would ever ask one to program. CS students are also very diverse in that they may specialize in completely different areas of CS.

Think of CS students as specialists who are really good at one thing but should probably be complemented by working alongside a software engineer(s).

Yeah homie, I do. If you also weren't completely retarded you would also realize that Matlab is one of the best suited languages for implementing ML algorithms, which is what we were talking about.

It's okay, once you actually learn your ***first*** language then you might see that languages are all the same (in the same paradigm) and problem solving varies little w.r.t. choice of language.

>the language of ML is matrices.
it sounds like a CS understand of statistical learning

>Matlab sucks
>it nickel and dimes you
>it's better to use Python, Julia, R or even Fortran, because of this fact
>unlikely to do any DIY with Matlab outside of college
>making people use it is an example of the authoritative nature of CS
>saying Matlab is the best for ML, is a representation of how loud CS fags are about their unilateral nature

I can implement pretty much anything a CS ML class can throw at me in R together with Python. Even speeding things up with C++. You should be able to use whatever you want. If it's not an R or SAS class, my statistics professors let us use whatever. The language used wasn't important since they are all probably Turing complete. CS is just loud and annoying.

>UC Irvine
>Never had a software engineering job
Look out everybody, Safety School over here is going to crack a knowledge egg all over our heads.

Sorry to be a dick, but leading your answer with the school you're going to is super douchey, especially when that's supposed to somehow ameliorate a total lack of real world experience.

At any rate, self-taunt people can make absolutely fine real world software engineers as long as they actually learn CS fundamentals: time complexity, data structures, algorithms, and the like. While complex at an academic level, at a practical level none of that stuff is over the head of somebody with a solid technical background in math, engineering, stats, econ etc.

That isn't too say getting up to speed on core CS concepts isn't a ton of work, it absolutely is. But, it is totally doable by a dedicated person with a computer, a technically adept mind, and the will to learn. Contrast that with say medicine or experimental particle physics where you need access to millions of dollars of infrastructure to even begin to be adequate.

The people who are trouble are the English majors who go to a 12 week bootcamp, learn some PHP, and call themselves software developers. Those people Dunning–Kruger themselves into jobs they can't handle in companies that, ironically, don't have the time or budget to deal with inept software development.

Yes, string together a list of keywords to pretend you know what you're talking about :)

ML algorithms almost always invariably use matrices as basic objects.

But yes keep complaining about being constrained to a single language in a class with 100 other students and 2 TAs. Notice how I also said that the language itself was unimportant.

>B-b-b-but I listed a bunch of languages doesn't that mean I'm smart???

No you're just too retarded to realize that no one used a quantity of languages as a metric since it's trivial to learn a new one. I won't enumerate all the languages I know, but it's a lot. It is also meaningless.

>btw
Vectors are 1-dimensional matrices in case you haven't taken linear 1 yet :)

Not that guy (and I haven't tested this myself at all), but my understanding is that Python is running most ML algos faster than MATLAB these days. Not true?

Performance isn't an issue when it comes to LEARNING the concepts.

Python has a bunch of ML libraries, scikit-learn, pandas, numpy, etc. It's actually piss-easy to "implement" a ML project if you have data.

But if you are going to write the algorithm itself it may be more difficult, but normally it's just converting math into code.

I guess the point that I need to make explicit is that if you're at the level where you're learning ML, the programming language is not what your professor is trying to teach you.

My experience is that self-taught people with a bunch of experience generally solve not-too-hard problems faster, but people with a strong formal education solve them better.

Of course, the most-skilled people out there will have done both, having self-taught themselves programming and then studying computer science in university to fill the gaps and amend the practical skills with a solid theoretic basis.

Ahh gotcha. Thanks for the clarification, user. Totally with you on that.

Doing a math major and learning c++ on the side seems to be the patrician choice I see.

>if you have data

as if there wasn't a ton of free online machine learning repositories, just bursting with data for anyone to grab and use, right?

>Here we have user, talking out of his ass
You're an undergrad aren'tcha?

>B-b-b-but I listed a bunch of languages doesn't that mean I'm smart???

im trying to avoid sounding pompous, so i left a lot of shit out. i don't really care about all the language that you only have a single quarters worth of experience in.

>single language in a class with 100 other students and 2 TAs
it's a common theme, why would this matter so much to CS?
they can make everyone produce literally the same code?

There are, what are you trying to get at lol?

If you want to try your own unique project then obviously it's going to be hard to gather a dataset.

Pajeet, I'm a graduate student at a real university. I've also worked in industry in the past and I can assure you my portfolio is far more impressive than anything you have done with your life.

Stay salty, it befits a dirty undergraduate like yourself to think so highly of your own worth :)

...

Oh I understand you literally didn't get what I wrote.

There are only a small fraction of TA's that have to grade all of the programming material. If they bother doing this the old fashioned way then they need to read hundreds of pages of code (which is spaghetti garbage spewed out by undergrads like you btw). Otherwise they need to write a script to automatically test I/O cases and grade off of that.

In either case it should be obvious that having only 1 language set in stone is a huge boon to the entire class. Since it's easier on the TAs and the undergrads get feedback faster.

I hope Matlab goes the way of the dodo. It's only used in academia.

matlab must be destroyed

>how much time a self taugh guy vesus a guy with a bachelor would take to code something like minecraft?

Let me break the reality down to you, Markus got lucky with minecraft having the right game for the right market at that time. His game could've ended up as some random niche indie game either way.

On your question: Whoever takes the proper time into learning languages, paradigms, algorithms, ... would program "faster". A good programmer always takes problem solving in mind and has a good base of mathematics to derive efficient solutions to those problems. In reality: 90% of programmers in the industry are just code monkeys who translate solutions into simplistic adaptations to meet the deadlines.

Minecraft and "some database shit" are in completely different spectrums of programming. For one you need proper GPU resourcing, memory management, ... to generate all those blocks on your screen, the latter needs proper IOPS, database architecting, redundancy, ... . Completely different disciplines in programming which need years of experience and knowledge.

typically you don't want to implement your own algorithm if there is a package.
1) it will likely be slower
2) most of the ML libraries are written in Fortran/C++
2) your code could have errors
3) entire waste of time
4) knowing the statistical models and how they work is what you need to know to implement and read future literature. implementing to model is the easy part

>Python is running most ML algos faster than MATLAB these days

Python is slow so is R. you can speed up R and python if you know some C++.
R follows a recursive paradigm so if you're not applying functions then it's incredibly slow.
I ran some hybrid time series model in R with not a lot of data and it took like 8 hours for it to finish on
my laptop. Python would be about the same. in Matlab, you can convert the Matlab code into C++, but it will cost you probably like $10,000 for that package. Just avoid Matlab.

>I'm a graduate student at a real university.
don't care

>Otherwise they need to write a script to automatically test I/O cases and grade off of that.

to me to the correctness and understanding of the statistical models are more important than the code. profiling is important, but the profiling can come later, it's not a necessary part of ML. plus, profiling in Matlab isn't going to be the same as in Python. i see where you are coming from if the class is more focused on the code then it makes sense to a point. but, i believe that they should have some more faith in student ability and not make such restrictive requirements. the lack of academic freedom causes burnouts.

>matlab must be destroyed

indeed

Pajeet, why are you trying to derail the topic. I'm now realizing that you can't understand the English that I'm writing which is why you keep posting this garbage.

In the veeeeeeeery first post I was talking about how Matlab is a fine language for ML. The only code you're going to write for a ML class is the algorithms themselves, otherwise you're literally just calling functions and providing input.

Jfc just kill yourself dude.

It's true - I'm self-taught and I used to get in that mess a lot. I found it strangely satisfying starting from scratch again though - I always got back to where I was much quicker and the code was always much better.

I know a bit of UML but I'm not much of a software engineer.

i think you missed the point. scikit doesn't do everything, but what it does you should use and spend more time on fitting and model correctness.

programming least squares as matrix multiplications in Matlab isn't exactly writing the algorithm from scratch.

No you fucking retard you're missing the point. A language is nothing more than a tool, and a language in a class which isn't focused on teaching you programming is literally a non-issue.

Self taught people by far, no contest

A self taught person would be like "Hm, I've actually used OpenGL before and maybe I could use a geometry shader to generate the cube shape of a block from a single vertex on the GPU."

CS grads do not know a shit about diddly dick, and wouldn't even try because they just don't have any idea how.

kill yourself my man

thoroughness is a MEME. an extreme MEME.

There is a point where you just don't even have to think about "technical debt" anymore. Both CS grads and coding bootcamp normies are years away from getting to this point, if they ever do.

>There is a point where you just don't even have to think about "technical debt" anymore
What in the everlasting fuck are you even talking about? It's a serious problem for any project at scale.

>blindly follow and are most likely sheep in nature

Time to go back to your shitty /pol/ outpost

>Self taugh guys
>People with bachelor degrees in CS/SE

Thats redundant. The only thing you take out of a degree, especially in CS/IT, is what YOU practice by yourself, taking the time to actually study it in depth. Classes will only show you the way to do it, thats why most people that graduate from CS/IT can't program for shit.

i guess you see teaching the programming is the most important. maybe that's why you believe in using a single language for the class.

i think understanding the models and mathematics behind them are the most important, which is language independent. most of the upper-level books on the subject have no code in them. if you know the material, the programming is the easiest part. if you know the material you can read more advanced literature.

you think like a typical hands on legacy CS fag.

not exclusively, but what i've seen happening in most cases is that 'self taugh guys' are better at it, and they always begin the graduation with a good understanding of programming/tools. why? because he was interested in it and learned by himself without anyone having to spoonfeed him.

Oh whoops lol I thought I was on /g/ for a second

When you are good, you don't loose yourself in semantics

you stop digging yourself holes because your brain is wired to logically see how a program should fit together

and if it doesn't, which it won't, you know what the problem is

Do you speak English?

I'll repeat in all caps:

THE LANGUAGE IS NOT THE POINT IN A CLASS WHICH ISN'T TEACHING PROGRAMMING

So: yes retard you're agreeing with me but somehow you think you're arguing with me and it blows my mind.

Also I already explained to you the simple logistics behind why classes are restrained to a single language.

In a ML class you should be expected to learn the language WITHOUT any classtime devoted to it, at best there should be a single lecture devoted to the language but even this is generous. By this point in your education you should know how to learn languages FAST, as in within an HOUR.

Also I know that ML books don't include code. The current books I'm using are Pattern Recognition and Machine Learning, Learning from Data, and Understanding Machine Learning. None of them have any code and none of them are even close to brainlet tier like I'm sure you're used to.

>There are only a small fraction of TA's that have to grade all of the programming material.
Nigga, you're full of shit. I have done a bunch of TAing for several undergrad classes, and actually grading the submissions is always a part of it.

>Otherwise they need to write a script to automatically test I/O cases and grade off of that.
You can't possibly grade most assignments just by checking a bunch of inputs against expected outputs. You can get away with this to some limited degree in programming 1, but in most other courses the meat of the grade is on how you solved it and how well you engineered your solution, not just that it gets the outputs right (that's just the bare minimum). In an operating systems class, for example, the way you approach your locking may be a major part of the grade: minus two points if you use busy waiting, minus one point if your condition variable is fucked up, minus a half point for using more locks than necessary, minus one point for a locking structure that can deadlock, that sort of thing. This is something you cannot possibly judge with an automated script. In a program design class, maybe the approach of the class structure may make all the difference (or whatever). Useless structures in your code cost points. Clean structure gives bonus points. Et cetera; none of this is something you can robo-grade.

>If they bother doing this the old fashioned way then they need to read hundreds of pages of code (which is spaghetti garbage spewed out by undergrads like you btw).
Yes, grading does involve studying tons of undergrad spaghetti. That's the fucking job the university is paying you for. (Well, half of it; but you get the point.)

>In either case it should be obvious that having only 1 language set in stone is a huge boon to the entire class. Since it's easier on the TAs and the undergrads get feedback faster.
Most classes that I TA'd for would let you program in whatever. Dealing with that is also a TA's fucking job.

Depends on the school retard-kun. At my institution undergraduate programming classes are massive and there are only a few graduate TAs. From what I've heard they grade by I/O matching.

I personally was a TA for theory of computation which had 180+ undergrads enrolled.

>Depends on the school retard-kun.
Yeah, that's true. I suppose at shit schools they don't actually care about grading that means something and provides useful feedback.

>I personally was a TA for theory of computation which had 180+ undergrads enrolled.
I have TA'd for large classes too. Guess what? When classes get too heavy a grading burden, *you hire more TAs*.

Only PhD students TA at the graduate level, we had 2.5 for theory.

What school do you go to user? Mine is tier 1 in computer science I'm not willing to post the name since that plus the other info I gave last post would pretty much immediately identify me.

I meant that only PhD students TA upper level courses, but it's also true that only PhD students TA graduate courses.

>Only PhD students TA at the graduate level, we had 2.5 for theory.
Wait, what? Surely theory of computation is an undergraduate course? Or are you talking about two different courses there?

It's been a while since I was in university, and like you I don't feel like posting details. I have no idea about that tier thing, that's not really a thing over here.

Ah, right. Disregard the confusion in .

But, upper level? Really? Theory of computation was a year-one course for me. (Twelve years ago, mind; things may have changed since then.)

If you're not from the US you may have a more concentrated curriculum. For my school theory was a low level "major only" class which is considered "upper level". 300-level is that makes it more clear. Where 400-level is the highest in undergrad and 500-level is graduate.

Most self taught programmers are much more pragmatic and practical. CS shitters are too theoretical and don't even know how to properly apply the theory they've spent years regurgitating. Self taught people tend to remember theory better because they have real life experience to remember it by.

>I have no idea about that tier thing, that's not really a thing over here.

Admit it user, you're a dirty sudaca from some shithole like Brazil or Argentina, where the TA's are underpaid or not paid at all, so the university's most common response is "Why don't we hire more of those fuckers?" when the obvious answer is RESTRICT ADMISSION because 90% of the monkeys sitting on those benches don't deserve to be in that class.

You really want to know the answer? Because you sound like an insecure self taught programmer who just wants to hear that comp sci students can't program for shit.

There's a lot a variables there. It's not clear cut.

>Hm, I've actually used OpenGL before and maybe I could use a geometry shader to generate the cube shape of a block from a single vertex on the GPU.
>he thinks this is faster than instanced rendering or pre-generating the vertices
>he is literally breaking 2.1 compatibility for a gimmick

you sure sounded smart there boyo.

And no I'm not a CS faggot.

it's basically the same as instanced rendering

>he is literally breaking 2.1 compatibility for a gimmick

who cares

if It runs on my hardware, it'll run on most people's