A disturbing new trend?
-
When I first learned BASIC in the '80s, the only structure available was the array, so we had to use that and build up more complex structures, but that's just not necessary with C#, OOP, and Collections. So I am saddened to these posts from the last few days: "Int32[] playerNumbers, String[] playerLastName, Int32[] playerPoints" -- Arrays how to delete multiple entries[^] "Int32[] playerNumbers, ref Int32 playerCount, String[] playerLastName, Int32[] playerPoints" -- Cannot convert type int[] to int[^] "Int32[] playerNumbers, ref Int32 playerCount, String[] playerLastName, Int32[] playerPoints" -- delete method not deleting[^] "Array carPark[10][2];" -- What Is Wrong With The Code And Why Doesnt It Run When I Try To Run It In C#[^] Those first two are the same member, the third probably is as well. The fourth is at least using a two-dimensional array, but he obviously copied it from somewhere and has no idea what it is. Oh, sweet Bob, they keep coming... "public string[][] Select(string query)" -- How to return array or list 2 dimensional from SQL Query[^] WTF!? "ProcessDelete(Int32[] playerNumbers, ref Int32 playerCount, String[] playerLastName, Int32[] playerPoints )"
It's worse than the '80s. Pascal and C had complex types at the end of the '60s. Even Fortran had a complex type (a pair of integers) in 1957...
-
PIEBALDconsult wrote:
When I first learned BASIC in the '80s, the only structure available was the array,
Then C introduced the
struct
. Then C++ decidedstruct
should have methods, and called it aclass
and added all sorts of other artifacts (inheritance, polymorphism, and encapsulation.) Then came along relational databases, and we were introduced in C# to a newfangled way of working with structures, theDataTable
,DataView
andDataSet
, but those caused impedence mismatches so a new artifact was born, the ORM. Then the jar-heads decided to inflict themselves on the process because this was all too complicated and created JSON, a string "structure" that took us back to the BASIC 80's of untyped data and structure encoded in the string itself. Simultaneously, the "kids" (who were not even a glimmer in the eyes of their parents in the 80's) decided that relational databases were bad and gave us NoSQL, which, guess what, uses JSON, is document oriented and requires client-side callbacks to "join" data across documents. And this is called progress. MarcImperative to Functional Programming Succinctly Higher Order Programming
JSON is more lightweight as opposed to XML (no tags required - but does imply foreknowledge of the data formatting). As well - you don't have to worry about malformed tags et al. This is particularly important when trying to reduce traffic on the wire... XML is "pretty", but can be a pig on the wire.
-
JSON is more lightweight as opposed to XML (no tags required - but does imply foreknowledge of the data formatting). As well - you don't have to worry about malformed tags et al. This is particularly important when trying to reduce traffic on the wire... XML is "pretty", but can be a pig on the wire.
Rene Pilon wrote:
XML is "pretty", but can be a pig on the wire.
True, but the fact that we have to serialize data to in JSON / XML is absurd to begin with, and is a "workaround technology" to deal with doing something that HTTP was never originally intended to do. JSON is simply a bandaid on a corpse that refuses to die, and yet it has also become a way to animate other monsters. Marc
Imperative to Functional Programming Succinctly Higher Order Programming
-
When I first learned BASIC in the '80s, the only structure available was the array, so we had to use that and build up more complex structures, but that's just not necessary with C#, OOP, and Collections. So I am saddened to these posts from the last few days: "Int32[] playerNumbers, String[] playerLastName, Int32[] playerPoints" -- Arrays how to delete multiple entries[^] "Int32[] playerNumbers, ref Int32 playerCount, String[] playerLastName, Int32[] playerPoints" -- Cannot convert type int[] to int[^] "Int32[] playerNumbers, ref Int32 playerCount, String[] playerLastName, Int32[] playerPoints" -- delete method not deleting[^] "Array carPark[10][2];" -- What Is Wrong With The Code And Why Doesnt It Run When I Try To Run It In C#[^] Those first two are the same member, the third probably is as well. The fourth is at least using a two-dimensional array, but he obviously copied it from somewhere and has no idea what it is. Oh, sweet Bob, they keep coming... "public string[][] Select(string query)" -- How to return array or list 2 dimensional from SQL Query[^] WTF!? "ProcessDelete(Int32[] playerNumbers, ref Int32 playerCount, String[] playerLastName, Int32[] playerPoints )"
The multiple arrays design isn't really needed much anymore, but similar issues do occasionally crop up from time to time in the real world. I'd rather see students learn how to handle those issues on assigned toy problems than in real world code. I'd like to believe they just haven't been educated in OOP very well yet, which given that it is early in the school year, may well be possible. Even the does-not-compile code is a typical student blunder, I used to see several similar problems every semester when I use to work at the school computing center. Kudos to this student since they're well on their way to having a clue -- they're getting to it early, instead of waiting till the end of the class, which is usually when we'd get students that lost.
We can program with only 1's, but if all you've got are zeros, you've got nothing.
-
It is a bit of both. There are teachers who can't teach, because they are so busy trying to keep up their "no child left behind" status or simply are collecting a paycheck. There are students who are more concerned with facebook, twitter, or whatever than with the educational system. Then there are school which lack funding to update to the best teaching methods.
-
PIEBALDconsult wrote:
When I first learned BASIC in the '80s, the only structure available was the array,
Then C introduced the
struct
. Then C++ decidedstruct
should have methods, and called it aclass
and added all sorts of other artifacts (inheritance, polymorphism, and encapsulation.) Then came along relational databases, and we were introduced in C# to a newfangled way of working with structures, theDataTable
,DataView
andDataSet
, but those caused impedence mismatches so a new artifact was born, the ORM. Then the jar-heads decided to inflict themselves on the process because this was all too complicated and created JSON, a string "structure" that took us back to the BASIC 80's of untyped data and structure encoded in the string itself. Simultaneously, the "kids" (who were not even a glimmer in the eyes of their parents in the 80's) decided that relational databases were bad and gave us NoSQL, which, guess what, uses JSON, is document oriented and requires client-side callbacks to "join" data across documents. And this is called progress. MarcImperative to Functional Programming Succinctly Higher Order Programming
Zackly! Long live SQL Server! :)
-
Hey now, RPG was the bomb compared to Assembler. I loved the AS/400
To err is human to really mess up you need a computer
oh Im not dissing it - if its all you have, then you just use it (and ILD-RPG 400 was a different animal) - I used to have RPG modules calling all sorts of system routines - loved it
-
I've never "played" with RPG (unless we're talking Doom!), but I've had my time with AS400 "screen scrapes".
Life is like a s**t sandwich; the more bread you have, the less s**t you eat.
heh - I love the way people say 'this is right, wrong, do it this way' but at the end of the day, if that's the only way you can make it happen, well ... so good on you for 'screen scrapes' 'Mr Pragmatic'
-
The U.S. Marines are part of the U.S. Navy. The U.S. Navy gave us Admiral Grace Hopper. Admiral Grace Hopper gave us COBOL. :-\
-
COBOL's a pleasure compared to RPG !!! (IBM AS/400 for example)
-
When I first learned BASIC in the '80s, the only structure available was the array, so we had to use that and build up more complex structures, but that's just not necessary with C#, OOP, and Collections. So I am saddened to these posts from the last few days: "Int32[] playerNumbers, String[] playerLastName, Int32[] playerPoints" -- Arrays how to delete multiple entries[^] "Int32[] playerNumbers, ref Int32 playerCount, String[] playerLastName, Int32[] playerPoints" -- Cannot convert type int[] to int[^] "Int32[] playerNumbers, ref Int32 playerCount, String[] playerLastName, Int32[] playerPoints" -- delete method not deleting[^] "Array carPark[10][2];" -- What Is Wrong With The Code And Why Doesnt It Run When I Try To Run It In C#[^] Those first two are the same member, the third probably is as well. The fourth is at least using a two-dimensional array, but he obviously copied it from somewhere and has no idea what it is. Oh, sweet Bob, they keep coming... "public string[][] Select(string query)" -- How to return array or list 2 dimensional from SQL Query[^] WTF!? "ProcessDelete(Int32[] playerNumbers, ref Int32 playerCount, String[] playerLastName, Int32[] playerPoints )"
<GeezerWarStoryAlert> My data structures class in college was taught in FORTRAN, where we used arrays to implement everything: linked lists, binary trees, heaps, etc. An array of integers effectively simulated word-wide memory, with array indices corresponding to addresses. In retrospect, this approach somewhat obscures the 'data structure' in lieu of the implementation. However, it gives you a profound appreciation of how memory works and mysterious beasties like pointers. </GeezerWarStoryAlert>
Software Zen:
delete this;
-
When I first learned BASIC in the '80s, the only structure available was the array, so we had to use that and build up more complex structures, but that's just not necessary with C#, OOP, and Collections. So I am saddened to these posts from the last few days: "Int32[] playerNumbers, String[] playerLastName, Int32[] playerPoints" -- Arrays how to delete multiple entries[^] "Int32[] playerNumbers, ref Int32 playerCount, String[] playerLastName, Int32[] playerPoints" -- Cannot convert type int[] to int[^] "Int32[] playerNumbers, ref Int32 playerCount, String[] playerLastName, Int32[] playerPoints" -- delete method not deleting[^] "Array carPark[10][2];" -- What Is Wrong With The Code And Why Doesnt It Run When I Try To Run It In C#[^] Those first two are the same member, the third probably is as well. The fourth is at least using a two-dimensional array, but he obviously copied it from somewhere and has no idea what it is. Oh, sweet Bob, they keep coming... "public string[][] Select(string query)" -- How to return array or list 2 dimensional from SQL Query[^] WTF!? "ProcessDelete(Int32[] playerNumbers, ref Int32 playerCount, String[] playerLastName, Int32[] playerPoints )"
It's not a new trend, it's an ongoing current trend :-) Seriously though, it's actually to do with the current state of I.T education (Well at least here in the UK anyway) Put simply, there are way too many "General Purpose Teachers" and not enough "Specialist Teachers" , as a result many teachers that are teaching the next generation (and to be clear here, we are on about 6th form and colleges too), are teaching them from text books. A friend of mine, recently decided that programming was for him after getting inspired watching a community presentation I delivered. So he trotted off to his local community college and signed up for "Computer Programming Essentials" His guide book for the college, stated: "You will learn the fundamentals of software engineering, application design and general software problem solving, enabling you to build high quality software applications for now and the future and providing you with a firm foothold through the gateway of professional software development" All sounds, rather splendid if I do say so my self. We are now, 5 months in on his course, and so far he's learned nothing more than putting together simple desktop applications using Visual Basic .NET He's let me see every assignment he's been set, every bit of homework he's been asked to do and all he's done is learn how to wire VB components together. He's done nothing even remotely near understanding application architecture, good development practices or anything like that. He's not been told what the difference between integers, doubles & reals are, he understands nothing about how computers do maths. All he's been doing is learning how to pull data out of various "Things" , reshape it, then display it in ever changing fancy ways. ---------- Not too long ago, my Niece announced she was doing computing at comprehensive school, she came home with an A+ in computing and I.T, needless to say I was a proud uncle, until I dug into her curriculum and looked at the subjects she'd been getting taught. See attained the A+ because she'd figured out how to do animated sound & graphics on her own using PowerPoint, her teacher then sat her on a virtual pedestal and encouraged the rest of the class to strive to attain these high standards, if they wished to go into the software development & programming industry. ------------- Lastly, a very good friend in India recently explained to me how I.T and software education works out there. There are basically a bunch of private companies, th