I wouldn't for half a second think I'd be able to learn, say, Biology within 6 months either.
The Big Programming Thread - Page 1001
| Forum Index > General Forum |
Thread Rules 1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution. 2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20) 3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible. 4. Use [code] tags to format code blocks. | ||
|
Excludos
Norway8195 Posts
I wouldn't for half a second think I'd be able to learn, say, Biology within 6 months either. | ||
|
Manit0u
Poland17450 Posts
On March 01 2019 19:39 Excludos wrote: Think I'll echo Shield here. With little to no prior experience, I see absolutely no way to learn how to program in 6 months, at least not good enough to be of any use. We have college/university degrees on the subject for a reason. I wouldn't for half a second think I'd be able to learn, say, Biology within 6 months either. I'm teaching a friend with virtually no prior experience in programming. He's made big headway in just 2 weeks and I plan on having him ready for a junior position in about a month or two. Stuff they teach at college/university is mostly useless anyway. | ||
|
Acrofales
Spain18132 Posts
On March 01 2019 19:39 Excludos wrote: Think I'll echo Shield here. With little to no prior experience, I see absolutely no way to learn how to program in 6 months, at least not good enough to be of any use. We have college/university degrees on the subject for a reason. Those degrees aren't meant to teach you how to program. They are meant to educate computer scientists/engineers, which *should* be far more than a "mere" programmer. As for programming: at the age of 10 I got a book from the library and taught myself BASIC... a desire to learn and a basic grasp of mathematical structure go a very long way. Now I obviously doubt that in 6 months he can learn enough to start at a level where his salary won't take a big hit. But a specialist in finance with a solid grasp of programming seems like a pretty solid foundation to rise rapidly in a number of areas: business intelligence is probably the hottest. | ||
|
Acrofales
Spain18132 Posts
On March 01 2019 19:44 Manit0u wrote: I'm teaching a friend with virtually no prior experience in programming. He's made big headway in just 2 weeks and I plan on having him ready for a junior position in about a month or two. Stuff they teach at college/university is mostly useless anyway. I wouldn't go that far either. It's mostly useless if you want to pursue a career as a programmer. But that isn't what university is for. I think we had this discussion just a few pages back with business people arguing big-O notation is completely useless, and solidbebe (and to a certain extent, myself) arguing that big-O notation is a fundamental part of understanding the behaviour of a new algorithm. The main point is that university is a very general study. It teaches you a bit about web programming and how the internet works. This is completely useless if you're interested in working with embedded systems, but is a mandatory course. Similarly, if you want to be a web programmer, learning how a compiler works is utterly pointless. That isn't the point of a university degree, which trains you to know enough about everything that you can then work in virtually any area of CS, using virtually any language. It is also meant to train you in skills related to conceptualizing programs, and how software can solve real-world problems: these are skills you don't need as a programmer, but do when you move up into project management (which for any university level programmer *should* be faster than for most people who learned to program in a 6-month course straight out of high school). Moreover, it is a university degree and it teaches CS research as well: it is not meant to be a vocational study, it is meant to teach you theory that is mostly useless in day-to-day business but absolutely essential when moving into CS research. Propositional logic is completely useless for absolutely everybody... except a bunch of people like me who use it to design systems that can automatically reason about the system itself and try to explain it in a structure that non-CS people can grasp (in my case: high-school teachers). Next door to me there's a guy who uses all those linear algebra things that Travis keeps asking about on a day-to-day basis: once again, useless for anybody who doesn't work intimately with statistics (aka machine learning) or another highly mathematical area such as low-level computer graphics, or finance. Then there's people working on SAT: a highly theoretical field that seems utterly useless until you start looking into the plumbing of most multivariate optimization algorithms... which are used almost everywhere that control is automated: logistics, robotics, etc. etc. etc. While all of these people have continued their studies for at least 5 years since their BSc. and even then are only a "junior researcher" just finished their PhD, the foundation for all of this is *also* laid at university. University doesn't teach "useless stuff". It is, however, a rather broad study. I did learn stuff I don't think I'll ever use. I'm sure everybody does at uni: but what those things are are different for everybody. | ||
|
solidbebe
Netherlands4921 Posts
On March 01 2019 20:14 Acrofales wrote: + Show Spoiler + I wouldn't go that far either. It's mostly useless if you want to pursue a career as a programmer. But that isn't what university is for. I think we had this discussion just a few pages back with business people arguing big-O notation is completely useless, and solidbebe (and to a certain extent, myself) arguing that big-O notation is a fundamental part of understanding the behaviour of a new algorithm. The main point is that university is a very general study. It teaches you a bit about web programming and how the internet works. This is completely useless if you're interested in working with embedded systems, but is a mandatory course. Similarly, if you want to be a web programmer, learning how a compiler works is utterly pointless. That isn't the point of a university degree, which trains you to know enough about everything that you can then work in virtually any area of CS, using virtually any language. It is also meant to train you in skills related to conceptualizing programs, and how software can solve real-world problems: these are skills you don't need as a programmer, but do when you move up into project management (which for any university level programmer *should* be faster than for most people who learned to program in a 6-month course straight out of high school). Moreover, it is a university degree and it teaches CS research as well: it is not meant to be a vocational study, it is meant to teach you theory that is mostly useless in day-to-day business but absolutely essential when moving into CS research. Propositional logic is completely useless for absolutely everybody... except a bunch of people like me who use it to design systems that can automatically reason about the system itself and try to explain it in a structure that non-CS people can grasp (in my case: high-school teachers). Next door to me there's a guy who uses all those linear algebra things that Travis keeps asking about on a day-to-day basis: once again, useless for anybody who doesn't work intimately with statistics (aka machine learning) or another highly mathematical area such as low-level computer graphics, or finance. Then there's people working on SAT: a highly theoretical field that seems utterly useless until you start looking into the plumbing of most multivariate optimization algorithms... which are used almost everywhere that control is automated: logistics, robotics, etc. etc. etc. While all of these people have continued their studies for at least 5 years since their BSc. and even then are only a "junior researcher" just finished their PhD, the foundation for all of this is *also* laid at university. University doesn't teach "useless stuff". It is, however, a rather broad study. I did learn stuff I don't think I'll ever use. I'm sure everybody does at uni: but what those things are are different for everybody Well said . | ||
|
spinesheath
Germany8679 Posts
6 months of dedicated practice should be enough to get an entry level job (if you've got some talent for software, anyways). Obviously depends on the job market where he lives, but devs usually are very much sought after. And he should apply for dev jobs in a finance related field (at least for his first job in software). He has a masters degree, so he has proven his ability to learn and some degree of dedication. I certainly think that qualifies him for an actual interview, especially if the company can make use of this masters degree to some extent. And there's always a trade off: great dev, but little knowledge in the domain they will be working in or vice versa. Companies should employ a mix of both. | ||
|
SC-Shield
Bulgaria832 Posts
On March 01 2019 20:14 Acrofales wrote: Propositional logic is completely useless for absolutely everybody... except a bunch of people like me who use it to design systems that can automatically reason about the system itself and try to explain it in a structure that non-CS people can grasp (in my case: high-school teachers). I'm not sure you understand propositional logic well enough if you make statements like that. Propositional logic is essential to know if you want to be a software developer. It's literally a must if you want to deal with boolean logic (if statements come to mind). This is where your OR, AND and XOR come from. Also, if-then-else logic. | ||
|
Deleted User 3420
24492 Posts
| ||
|
Manit0u
Poland17450 Posts
On March 01 2019 20:14 Acrofales wrote: I wouldn't go that far either. It's mostly useless if you want to pursue a career as a programmer. But that isn't what university is for. I think we had this discussion just a few pages back with business people arguing big-O notation is completely useless, and solidbebe (and to a certain extent, myself) arguing that big-O notation is a fundamental part of understanding the behaviour of a new algorithm. The main point is that university is a very general study. It teaches you a bit about web programming and how the internet works. This is completely useless if you're interested in working with embedded systems, but is a mandatory course. Similarly, if you want to be a web programmer, learning how a compiler works is utterly pointless. That isn't the point of a university degree, which trains you to know enough about everything that you can then work in virtually any area of CS, using virtually any language. It is also meant to train you in skills related to conceptualizing programs, and how software can solve real-world problems: these are skills you don't need as a programmer, but do when you move up into project management (which for any university level programmer *should* be faster than for most people who learned to program in a 6-month course straight out of high school). Moreover, it is a university degree and it teaches CS research as well: it is not meant to be a vocational study, it is meant to teach you theory that is mostly useless in day-to-day business but absolutely essential when moving into CS research. Propositional logic is completely useless for absolutely everybody... except a bunch of people like me who use it to design systems that can automatically reason about the system itself and try to explain it in a structure that non-CS people can grasp (in my case: high-school teachers). Next door to me there's a guy who uses all those linear algebra things that Travis keeps asking about on a day-to-day basis: once again, useless for anybody who doesn't work intimately with statistics (aka machine learning) or another highly mathematical area such as low-level computer graphics, or finance. Then there's people working on SAT: a highly theoretical field that seems utterly useless until you start looking into the plumbing of most multivariate optimization algorithms... which are used almost everywhere that control is automated: logistics, robotics, etc. etc. etc. While all of these people have continued their studies for at least 5 years since their BSc. and even then are only a "junior researcher" just finished their PhD, the foundation for all of this is *also* laid at university. University doesn't teach "useless stuff". It is, however, a rather broad study. I did learn stuff I don't think I'll ever use. I'm sure everybody does at uni: but what those things are are different for everybody. While I agree with you to some extent. I'm also aware that some (if not most) of those skills are not retained for long after uni if they're not being used. So, sitting down with a problem that you might've tackled during your uni days but doing it 3-5 years later, during which time you had no contact with this stuff will most likely require you to re-learn the subject from scratch anyway. | ||
|
SC-Shield
Bulgaria832 Posts
On March 02 2019 06:44 travis wrote: Propositional logic is way more complicated than just that. The things that you listed take like an hour to understand and a software engineer may not even need to know all of that. How so? Is there a software developer who never has to write if-then-else and not understand what they're doing with this logic? Or did you mean "all other stuff"? | ||
|
Silvanel
Poland4733 Posts
On March 02 2019 06:44 travis wrote: Propositional logic is way more complicated than just that. The things that you listed take like an hour to understand and a software engineer may not even need to know all of that. I was about to say something similiar, You dont really need to know De Morgan laws or similiar things to program. For 90% of applications all You really need is: not, is equivalent, if, or (inclusive + exclusive), and. | ||
|
Acrofales
Spain18132 Posts
On March 02 2019 06:21 SC-Shield wrote: I'm not sure you understand propositional logic well enough if you make statements like that. Propositional logic is essential to know if you want to be a software developer. It's literally a must if you want to deal with boolean logic (if statements come to mind). This is where your OR, AND and XOR come from. Also, if-then-else logic. Oh. I'm glad you use resolution (as one of many examples) in your day-to-day programming. Oh wait no. You just ticked off the most basic bits and figured you're a genius. I'm glad you explained where xor comes from. Guess those 4 years PhD studies were useless as I could have just read this 5 line forum post and known it all. Thanks! | ||
|
Deleted User 3420
24492 Posts
| ||
|
Thaniri
1264 Posts
I just realized that when I have a random question on how best to design a system, I don't actually have a place to post and discuss or search for an answer. For example, the one that just came to mind: How do people loadbalance web application front ends in the cloud? Traditionally, we put a webserver in front of of a bunch of webapps and just scale the number of webapps as required. However, with the magic of auto scaling groups, in order to do that, you need to make a config change to your balancer manager every time a new web app server gets brought up or deleted. So due to the magic of the cloud we can do things like ALBs in AWS. But does that mean we no longer use nginx/apache? All the configs like reverse proxy rules, ip blocking configs, and SSL certs can't be expressed in AWS ELB rules. And doing something like a letsencrypt cert renewal would be hard for an ELB. You'd need to somehow do the renewal on a client, run a terraform/cloudformation template that takes the new cert from the client and put it on the server. The most idiot proof thing I can think of is to put a webserver onto every server with a webapp running. Put that server type into an autoscaling group, and delegate ALL loadbalancing to the ELB. That way any complex webserver configs are retained. The obvious issue with this is that you will end up with a silly number of webservers in a given deployment. Also a valid answer to this would be "go learn kubernetes for amazing autoscaling and self healing you caveman" but I'm a luddite who still uses bare metal. And not enough bare metal to make a borg cluster ![]() | ||
|
SC-Shield
Bulgaria832 Posts
On March 02 2019 09:18 Acrofales wrote: Oh. I'm glad you use resolution (as one of many examples) in your day-to-day programming. Oh wait no. You just ticked off the most basic bits and figured you're a genius. I'm glad you explained where xor comes from. Guess those 4 years PhD studies were useless as I could have just read this 5 line forum post and known it all. Thanks! Well, apparently your PhD studies didn't teach you not to make definitive statements like that Propositional logic is completely useless for absolutely everybody... except a bunch of people like me who use it to design systems that can automatically reason about the system itself and try to explain it in a structure that non-CS people can grasp (in my case: high-school teachers). As I said, propositional logic is still necessary for development regardless if you use all of it or not. That's not what you argued, you argued that NO ONE needs it not that "yeah, you need a bit of it actually". By that logic, the next thing you'd probably say is software development doesn't use Computer Science at all which would be also wrong. | ||
|
Thaniri
1264 Posts
I'll put in my two cents: 1) Most programming jobs don't require a background in formal logic and mathematics to pull off. You can still make a living writing Wordpress extensions. In 2019. Checkmate CS degree jerkoffs. If you want to get one step further, learn to parse CSVs, JSON blobs, XMLs, and SQL query results. Congratulations. You're now legitimately employable at basically any company. 2) Programming jobs worth pursuing beyond being a somewhat stable source of income will generally require fundamental knowledge about how programming works. If you can't tell me about how memory is used in a program, or how one thread can communicate to another, you probably won't solve any "at scale" problems. And I cringe at my own buzzword use there. That being said. I don't know how much it would matter to implement a binary search tree for example (standard intro to data structures course material). It's literally a Java standard library collection. Very few people on this planet need to make a better implementation of anything than what comes out of the standard library. But, a person needs to understand when to use it, and how to use it. Also your guys' example of arguing about propositional logic is such a stupid one to get into. Toddlers understand propositional logic. The guys on team CS degree need to use a better example. Go talk about how the non-degree plebs will likely not be able to do any ETL work using Apache Spark because they don't have complex data modeling skills in time series or something. I'm a college dropout FWIW. User was warned for this post. | ||
|
solidbebe
Netherlands4921 Posts
On March 02 2019 15:30 Thaniri wrote: Also it looks like I came back to this thread during a period where there is self-masturbation about CS degree vs non-CS degree programming. I'll put in my two cents: 1) Most programming jobs don't require a background in formal logic and mathematics to pull off. You can still make a living writing Wordpress extensions. In 2019. No one is denying that. 2) Programming jobs worth pursuing beyond being a somewhat stable source of income will generally require fundamental knowledge about how programming works. Agreed. Toddlers understand propositional logic. Bold statement but it's not my field. Here's what I use to impress all the bimbos: + Show Spoiler + | ||
|
Deleted User 3420
24492 Posts
On March 02 2019 15:30 Thaniri wrote: Also it looks like I came back to this thread during a period where there is self-masturbation about CS degree vs non-CS degree programming. uh, what? have you even read the thread? 1) Most programming jobs don't require a background in formal logic and mathematics to pull off. You can still make a living writing Wordpress extensions. In 2019. Checkmate CS degree jerkoffs. If you want to get one step further, learn to parse CSVs, JSON blobs, XMLs, and SQL query results. Congratulations. You're now legitimately employable at basically any company. have you read the thread, or just baiting? 2) Programming jobs worth pursuing beyond being a somewhat stable source of income will generally require fundamental knowledge about how programming works. If you can't tell me about how memory is used in a program, or how one thread can communicate to another, you probably won't solve any "at scale" problems. And I cringe at my own buzzword use there. That being said. I don't know how much it would matter to implement a binary search tree for example (standard intro to data structures course material). It's literally a Java standard library collection. Very few people on this planet need to make a better implementation of anything than what comes out of the standard library. But, a person needs to understand when to use it, and how to use it. theres dozens of kinds of trees and even more types of languages that aren't java. im not sure what your point is here...? again, have you read the thread before coming in and attacking a strawman? Also your guys' example of arguing about propositional logic is such a stupid one to get into. Toddlers understand propositional logic. The guys on team CS degree need to use a better example. Go talk about how the non-degree plebs will likely not be able to do any ETL work using Apache Spark because they don't have complex data modeling skills in time series or something. I'm a college dropout FWIW. have you heard of SAT? making circuits? that's just one huge purpose of propositional logic, and "toddlers don't understand it". What is even your argument? CS degrees are worthless? If so, you're clueless. You know the only person particularly acting like an asshole in the thread is you, and "CS degree people" didn't attack anyone or make any statements about what anyone could or couldn't do, all they did was defend that there is purpose to getting a CS degree. On March 02 2019 15:12 SC-Shield wrote: Well, apparently your PhD studies didn't teach you not to make definitive statements like that As I said, propositional logic is still necessary for development regardless if you use all of it or not. That's not what you argued, you argued that NO ONE needs it not that "yeah, you need a bit of it actually". By that logic, the next thing you'd probably say is software development doesn't use Computer Science at all which would be also wrong. He was saying that no one needs any deep level of understanding of propositional calculus. What you are talking about are literally things that people who have never programmed often understand. You're being pedantic and im not sure why, it's like you're trying to not see what he was saying in order to argue a point. | ||
|
SC-Shield
Bulgaria832 Posts
On March 02 2019 21:42 travis wrote: You know the only person particularly acting like an asshole in the thread is you, and "CS degree people" didn't attack anyone or make any statements about what anyone could or couldn't do, all they did was defend that there is purpose to getting a CS degree. This is how I can summarise his post basically: Fuck you guys! I didn't finish university and I got a job nevertheless! Fuck you! I find it amusing he talks about serialisation, memory management, processes and threads when this is ALL Computer Science. Guys like Bill Gates and Mark Zuckerberg are way more successful than us even without university degrees, but I'm 100% sure they had known quite a lot already by the time they left university. Does that make degrees useless? No, it's just about systematic studies and not everyone is good enough to learn on their own (at least before they have a good foundation which is what Computer Science degree can give you). | ||
|
Frolossus
United States4779 Posts
On March 02 2019 14:14 Thaniri wrote: What forums/blogs/websites/books do you guys read for system design topics? anything from early agilists: ward cunningham, kent beck, robert c. martin, rebecca wirfs-brock, alan kay, martin fowler for the university discussion i feel like mine prepared me quite well for a real job. we learned things like communication, version control, design patterns, OOP, FP, ASTs & compiler designs, software architecture models, use cases, CI, unit testing, & how to work on large projects. these skills would've taken much longer to develop without the schooling and prior to a job. | ||
| ||
.