![]() |
#31 | |
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 7,196
Karma: 70314280
Join Date: Dec 2006
Location: Atlanta, GA
Device: iPad Pro, iPad mini, Kobo Aura, Amazon paperwhite, Sony PRS-T2
|
Quote:
Most of the programmers that I know, don't have computer degrees, but rather degrees in other majors. Several of my college roomates went on to careers as programmers with degrees in Civil Engineering, Electrical Engineering and Management. Where a computer degree comes in handy is that it gives you the framework to shift technologies more easily. |
|
![]() |
![]() |
![]() |
#32 | ||
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 6,111
Karma: 34000001
Join Date: Mar 2008
Device: KPW1, KA1
|
Quote:
![]() You're serious? So me having had a complete course on exception/error handling and pitfalls and another on security in programming is the exception rather than the rule? Astonishing. Quote:
This mentality ("you don't need any education to design software/program") is the cause of the huge amount of crap software around. If a software engineer has a degree and still can't write crash-free and secure code (barring the occasional, unintentional bug/oversight of course, which happens everywhere), then his degree is worthless. |
||
![]() |
![]() |
Advert | |
|
![]() |
#33 | |
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 11,732
Karma: 128354696
Join Date: May 2009
Location: 26 kly from Sgr A*
Device: T100TA,PW2,PRS-T1,KT,FireHD 8.9,K2, PB360,BeBook One,Axim51v,TC1000
|
Quote:
Gym teachers teach math and science, english teachers get assigned history. (Or vice-versa.) The actual expertise is deprecated. All that matters is a degree in Education ("teaching is teaching") and union membership. Seriously. (Private schools and home schooling are trending ever higher for some reason. ![]() Now as to non CS programers being able to cook up good code, in the engineering R&D universe it has long been a practice that everybody learn to code. FORTRAN. There are billions of lines of code encompassing a half century and more of corporate knowledge. Going on 70 years in many businesses. Most of it nicely documented and time-tested stable. Some of it pure spaghetti. (Shrug) CS purity isn't a metric that matters, only results and accuracy; the intent is to produce line of business tools, not works of art. The algorithms and science behind them is what matters. Now, these are standalone tools that do NOT run on public networks. They are not control systems or financial systems. Very different universes. Our tools originated on IBM and UNIVAC mainframes, migrated to Cray supercomputers and VAX clusters, to UNIX workstations and clustered workstations, to PCs and PC networks and clusters. Usually all that was needed was a quick recompile and a validation suite run. (One summer we had a batch of interns from a campus where the CS department had taken over the engineering programming courses. They walked in singing the praises of Pascal and how Fortran was passee. We found uses for them but not one was allowed to code a batch script. Next year we partnered with a different engineering school.) Migrating to commodity PCs saved us a bundle: our first local network cost $4M but saved us zillions in chargebacks an increased out capabilities ten fold. Boss like me. By our third generation we were running multiprocessor PC workstations and the total cost was barely over $120K. Boss really liked me. More recently, higher management bought into managed code development (a good thing, really) and into porting code into "mainstream languages and environments". The GUI front ends were pretty. The graphing modules are nice. Somewhat useful. That effort took ten years (while we ran three network generations) cost tens of millions in outside contracts and the best we can say is it runs almost as well as the old Fortran codes. No big loss in productivity. (Come crunch time some staffers run the FORTRAN codes on the laotops to get faster results.) Different universes, different needs, different rules. In real world Engineering, degrees matter...but only as evidence that you learned the underpinings of the profession and were (at least on paper) trainable for the job. (Not 100% true.) The way we put it was: "university taught you the profession, now you get to learn the trade." The degree is necessary but not sufficient. Different universes... Last edited by fjtorres; 02-13-2016 at 12:41 PM. |
|
![]() |
![]() |
![]() |
#34 | |
No Comment
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 3,240
Karma: 23878043
Join Date: Jan 2012
Location: Australia
Device: Kobo: Not just an eReader, it's an adventure!
|
Quote:
Some of the worst code I've seen has been from a university educated programmer that considered himself to be smarter than the rest of us, and had to prove it (he listened to lectures while programming). Had no idea how to do complex SQL right. So abstracted the non-SQL code that it took half a day to go through and remove the transaction he had the process running in to preserve the data if something went wrong (yes, if anything went wrong, all evidence disappeared) (he had a boolean transaction parameter in the whole chain of functions, but was always hard coded to true). And if I went into how he structured the where clause to return a single batch of data or all the batches (completely bypassing the sql optimiser), you'd be gobsmacked (not that there was ever a chance we would ever want to return all the batches). The problem isn't one of university vs self-taught. It's one of experience and talent. There are people getting out of medical school that shouldn't be let within a mile of a person, dead or alive. Yes, computer programming is a very easy profession to get into without a university degree. But there are schools out there that only teach Java. And few schools teach things like programming for production support and auditability. Last edited by murg; 02-13-2016 at 04:01 PM. |
|
![]() |
![]() |
![]() |
#35 |
No Comment
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 3,240
Karma: 23878043
Join Date: Jan 2012
Location: Australia
Device: Kobo: Not just an eReader, it's an adventure!
|
In fact, no better (worse?) example of academic vs self-taught can be found in things like the Java/.Net libraries.
For example, why does something like String.Substring() throw an exception if the parameters are not part of the string? If I cared about that this condition, I'd check it beforehand, not have to deal with it in an exception handler. The functions can easily have been set up to produce reliable results if the parameters were wrong (returning an empty string, returning the rest of the string from the start index, etc). The .Net version is even worse, if the length is beyond the end of the string, just return the remainder of the string, don't throw an exception, if I really cared, I'd do a check beforehand. Basically, university vs self-taught is not the issue, but individual abilities are. Having a university degree is no guarantee that the person knows anything at all about programming in the real world. |
![]() |
![]() |
Advert | |
|
![]() |
#36 | |
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 6,111
Karma: 34000001
Join Date: Mar 2008
Device: KPW1, KA1
|
Quote:
On exceptions: I never understood those. I still don't. Try-Catch? WTF. So you just TRY if something works, and if it doesn't, you throw an error. That feels like trial and error. Maybe I'm old school, but I rarely use exceptions. If there is one thing I try to adhere to, then it is that my code must never crash and always return either a usable result, or an error. Using an exception (with which your function exits unexpectedly) instead of an error code (with which your function terminates normally) is IMHO no better than a controlled crash. edit: Funnily enough, Joel Spolsky agrees with me, again. (This guy is a well-respected software developer; to such an extent in fact, that I consider myself to be either right if my opinion corresponds with his, and wrong if it doesn't.) Last edited by Katsunami; 02-13-2016 at 06:11 PM. |
|
![]() |
![]() |
![]() |
#37 | |
No Comment
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 3,240
Karma: 23878043
Join Date: Jan 2012
Location: Australia
Device: Kobo: Not just an eReader, it's an adventure!
|
Quote:
Joel is a practising programmer, so he knows how stupid the whole try/catch thing is. The really stupid thing is that Microsoft is moving the error handing in SQL Server into a try/catch model; check out the reduced functionality of THROW as opposed the RAISERROR. I'm sorry, but does Microsoft think we are too stupid to set our own Severity (which is probably mostly used to force the PRINT and RAISERROR messages to flush to the SSMS (or is it SSMC?) session. |
|
![]() |
![]() |
![]() |
#38 | |
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 7,196
Karma: 70314280
Join Date: Dec 2006
Location: Atlanta, GA
Device: iPad Pro, iPad mini, Kobo Aura, Amazon paperwhite, Sony PRS-T2
|
Quote:
|
|
![]() |
![]() |
![]() |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Penguin Random House Unifies E-book Terms for Libraries | AnemicOak | News | 2 | 12-04-2015 11:27 AM |
Amazon & Penguin Random House reach deal | AnemicOak | News | 6 | 06-19-2015 01:19 AM |
US DOJ approves Random House / Penguin merger | AnemicOak | News | 26 | 04-05-2013 10:11 PM |
Authors' Guild wants Government action on Random Penguin | fjtorres | News | 11 | 11-08-2012 06:58 AM |
Random House, Penguin May Merge | JoHunt | News | 48 | 10-30-2012 11:46 AM |