Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > E-Book General > News

Notices

Reply
 
Thread Tools Search this Thread
Old 02-13-2016, 07:20 AM   #31
pwalker8
Grand Sorcerer
pwalker8 ought to be getting tired of karma fortunes by now.pwalker8 ought to be getting tired of karma fortunes by now.pwalker8 ought to be getting tired of karma fortunes by now.pwalker8 ought to be getting tired of karma fortunes by now.pwalker8 ought to be getting tired of karma fortunes by now.pwalker8 ought to be getting tired of karma fortunes by now.pwalker8 ought to be getting tired of karma fortunes by now.pwalker8 ought to be getting tired of karma fortunes by now.pwalker8 ought to be getting tired of karma fortunes by now.pwalker8 ought to be getting tired of karma fortunes by now.pwalker8 ought to be getting tired of karma fortunes by now.
 
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:
Originally Posted by Katsunami View Post
In that case, your experience is different to mine.

I've seen a lot of code, especially with self-taught web developers, that I was able to crash within minutes. Sometimes that could be done just by requesting a file called "FILE" instead of "file". File not found, big fat PHP error.

"Shit. I didn't know Linux/Unix was case sensitive." (Development on Windows does not catch these errors, and then your software falls apart when uploaded to a Linux/Unix webhost.)

Hey, the site puts parameters in the URL. Seems to work... but what happens when I change "?param=0" to "param=-1"? Crash. Cool, I can now see a huge amount of parameter info about the site. Look at that. "?login=0". Can I login by making it "?login=1" by hand, even without providing a username or password? Yes!

"Oops..."

Believe it or not, but these simple things often get overlooked by self-taught programmers/software engineers, especially when just starting out. While stuff like this is self-evident for people who know it, this is not the case for everyone. In your education, you get taught stuff like that.



Not true. Some of those systems are so extremely interconnected and interdependent due to bad design that changing something in one module will break another module.
I've seen a lot of programmers trip up on the same stuff, even though they have a degree. All degree programs are not created equal with it comes to programming. Most academic programmers tend to be rather naive when it comes to the exception handling situations that you describe, since exception handling tends to be ignored in academic settings in the interest of simplifying the examples. Exception handling tends to come for having a few years of experience where it actually matters if your code blows up.

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.
pwalker8 is offline   Reply With Quote
Old 02-13-2016, 09:42 AM   #32
Katsunami
Grand Sorcerer
Katsunami ought to be getting tired of karma fortunes by now.Katsunami ought to be getting tired of karma fortunes by now.Katsunami ought to be getting tired of karma fortunes by now.Katsunami ought to be getting tired of karma fortunes by now.Katsunami ought to be getting tired of karma fortunes by now.Katsunami ought to be getting tired of karma fortunes by now.Katsunami ought to be getting tired of karma fortunes by now.Katsunami ought to be getting tired of karma fortunes by now.Katsunami ought to be getting tired of karma fortunes by now.Katsunami ought to be getting tired of karma fortunes by now.Katsunami ought to be getting tired of karma fortunes by now.
 
Katsunami's Avatar
 
Posts: 6,111
Karma: 34000001
Join Date: Mar 2008
Device: KPW1, KA1
Quote:
Originally Posted by pwalker8 View Post
I've seen a lot of programmers trip up on the same stuff, even though they have a degree. All degree programs are not created equal with it comes to programming. Most academic programmers tend to be rather naive when it comes to the exception handling situations that you describe, since exception handling tends to be ignored in academic settings in the interest of simplifying the examples. Exception handling tends to come for having a few years of experience where it actually matters if your code blows up.


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:
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.
I believe that people with other degrees, shouldn't be programming. Not without at least a batch of courses to make them aware of the important stuff. You're not going to have a teacher in history teach German, and they're both teachers. You're not going to have a network engineer write C++ software, and they're both IT-people. Why do people think that it's a good idea to have an electrical engineer write programs?

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.
Katsunami is offline   Reply With Quote
Advert
Old 02-13-2016, 12:35 PM   #33
fjtorres
Grand Sorcerer
fjtorres ought to be getting tired of karma fortunes by now.fjtorres ought to be getting tired of karma fortunes by now.fjtorres ought to be getting tired of karma fortunes by now.fjtorres ought to be getting tired of karma fortunes by now.fjtorres ought to be getting tired of karma fortunes by now.fjtorres ought to be getting tired of karma fortunes by now.fjtorres ought to be getting tired of karma fortunes by now.fjtorres ought to be getting tired of karma fortunes by now.fjtorres ought to be getting tired of karma fortunes by now.fjtorres ought to be getting tired of karma fortunes by now.fjtorres ought to be getting tired of karma fortunes by now.
 
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:
Originally Posted by Katsunami View Post

You're not going to have a teacher in history teach German, and they're both teachers.

.
Uh, actually, in US public schools that happens all the time.
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.
fjtorres is offline   Reply With Quote
Old 02-13-2016, 03:45 PM   #34
murg
No Comment
murg ought to be getting tired of karma fortunes by now.murg ought to be getting tired of karma fortunes by now.murg ought to be getting tired of karma fortunes by now.murg ought to be getting tired of karma fortunes by now.murg ought to be getting tired of karma fortunes by now.murg ought to be getting tired of karma fortunes by now.murg ought to be getting tired of karma fortunes by now.murg ought to be getting tired of karma fortunes by now.murg ought to be getting tired of karma fortunes by now.murg ought to be getting tired of karma fortunes by now.murg ought to be getting tired of karma fortunes by now.
 
Posts: 3,240
Karma: 23878043
Join Date: Jan 2012
Location: Australia
Device: Kobo: Not just an eReader, it's an adventure!
Quote:
Originally Posted by Katsunami View Post
In that case, your experience is different to mine.

I've seen a lot of code, especially with self-taught web developers, that I was able to crash within minutes. Sometimes that could be done just by requesting a file called "FILE" instead of "file". File not found, big fat PHP error.

"Shit. I didn't know Linux/Unix was case sensitive." (Development on Windows does not catch these errors, and then your software falls apart when uploaded to a Linux/Unix webhost.)

Hey, the site puts parameters in the URL. Seems to work... but what happens when I change "?param=0" to "param=-1"? Crash. Cool, I can now see a huge amount of parameter info about the site. Look at that. "?login=0". Can I login by making it "?login=1" by hand, even without providing a username or password? Yes!

"Oops..."

Believe it or not, but these simple things often get overlooked by self-taught programmers/software engineers, especially when just starting out. While stuff like this is self-evident for people who know it, this is not the case for everyone. In your education, you get taught stuff like that.
Sadly, this isn't a university vs self-taught issue. This is an individual programmer issue.

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.
murg is offline   Reply With Quote
Old 02-13-2016, 03:56 PM   #35
murg
No Comment
murg ought to be getting tired of karma fortunes by now.murg ought to be getting tired of karma fortunes by now.murg ought to be getting tired of karma fortunes by now.murg ought to be getting tired of karma fortunes by now.murg ought to be getting tired of karma fortunes by now.murg ought to be getting tired of karma fortunes by now.murg ought to be getting tired of karma fortunes by now.murg ought to be getting tired of karma fortunes by now.murg ought to be getting tired of karma fortunes by now.murg ought to be getting tired of karma fortunes by now.murg ought to be getting tired of karma fortunes by now.
 
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.
murg is offline   Reply With Quote
Advert
Old 02-13-2016, 06:03 PM   #36
Katsunami
Grand Sorcerer
Katsunami ought to be getting tired of karma fortunes by now.Katsunami ought to be getting tired of karma fortunes by now.Katsunami ought to be getting tired of karma fortunes by now.Katsunami ought to be getting tired of karma fortunes by now.Katsunami ought to be getting tired of karma fortunes by now.Katsunami ought to be getting tired of karma fortunes by now.Katsunami ought to be getting tired of karma fortunes by now.Katsunami ought to be getting tired of karma fortunes by now.Katsunami ought to be getting tired of karma fortunes by now.Katsunami ought to be getting tired of karma fortunes by now.Katsunami ought to be getting tired of karma fortunes by now.
 
Katsunami's Avatar
 
Posts: 6,111
Karma: 34000001
Join Date: Mar 2008
Device: KPW1, KA1
Quote:
Originally Posted by murg View Post
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.
In that case, the degrees and the universities awarding them are useless. Yes, I knew a lot of coding and best practices before I began studying, but I did learn a lot of things that I would never have learned on my own, except when doing it wrong and finding out about it the hard way.

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.
Katsunami is offline   Reply With Quote
Old 02-14-2016, 01:16 AM   #37
murg
No Comment
murg ought to be getting tired of karma fortunes by now.murg ought to be getting tired of karma fortunes by now.murg ought to be getting tired of karma fortunes by now.murg ought to be getting tired of karma fortunes by now.murg ought to be getting tired of karma fortunes by now.murg ought to be getting tired of karma fortunes by now.murg ought to be getting tired of karma fortunes by now.murg ought to be getting tired of karma fortunes by now.murg ought to be getting tired of karma fortunes by now.murg ought to be getting tired of karma fortunes by now.murg ought to be getting tired of karma fortunes by now.
 
Posts: 3,240
Karma: 23878043
Join Date: Jan 2012
Location: Australia
Device: Kobo: Not just an eReader, it's an adventure!
Quote:
Originally Posted by Katsunami View Post
In that case, the degrees and the universities awarding them are useless. Yes, I knew a lot of coding and best practices before I began studying, but I did learn a lot of things that I would never have learned on my own, except when doing it wrong and finding out about it the hard way.

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.)
Exception handling (Try/Catch) came out of academia. Basically, a bunch on non-practicing programmers decided that returning errors was wrong, and decided to force us to use, as you so aptly termed it, a controlled crash. And, of course, unless you have try/catch blocks around every statement, you're never quite sure what triggered the exception.

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.
murg is offline   Reply With Quote
Old 02-14-2016, 05:27 PM   #38
pwalker8
Grand Sorcerer
pwalker8 ought to be getting tired of karma fortunes by now.pwalker8 ought to be getting tired of karma fortunes by now.pwalker8 ought to be getting tired of karma fortunes by now.pwalker8 ought to be getting tired of karma fortunes by now.pwalker8 ought to be getting tired of karma fortunes by now.pwalker8 ought to be getting tired of karma fortunes by now.pwalker8 ought to be getting tired of karma fortunes by now.pwalker8 ought to be getting tired of karma fortunes by now.pwalker8 ought to be getting tired of karma fortunes by now.pwalker8 ought to be getting tired of karma fortunes by now.pwalker8 ought to be getting tired of karma fortunes by now.
 
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:
Originally Posted by murg View Post
Exception handling (Try/Catch) came out of academia. Basically, a bunch on non-practicing programmers decided that returning errors was wrong, and decided to force us to use, as you so aptly termed it, a controlled crash. And, of course, unless you have try/catch blocks around every statement, you're never quite sure what triggered the exception.

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.
This. I know a very bright guy with a C.S. degree (and a masters) who thinks that the best error handling is to have the code stack dump and let the user email the stack dump in to tech support. He's what I call a white paper programmer, i.e. programs with an eye to architectural purity rather than robustness or maintainability. That's what happens when you have a friction-less surface mindset. I'm firmly in the K.I.S.S. camp.
pwalker8 is offline   Reply With Quote
Reply


Forum Jump

Similar Threads
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


All times are GMT -4. The time now is 04:26 PM.


MobileRead.com is a privately owned, operated and funded community.