|
While working with these people I started to notice that the better programmers (not necessarily the seniors) seemed to understand certain concepts much better than others. Pointers. Why did it have to be pointers?
|
|
|
|
|
Quote: If you couldn’t write the basic implementation of the function you are using then you shouldn’t be using it because you don’t understand it. Sorry, just don't entirely agree with this. So because I don't know how to write the underlying drivers and firmware that stores data on disk I should never use a "File" API??!? What balderdash!
#SupportHeForShe If your actions inspire others to dream more, learn more, do more and become more, you are a leader.-John Q. Adams
You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun
Only 2 things are infinite, the universe and human stupidity, and I'm not sure about the former.-Albert Einstein
|
|
|
|
|
You didn't write your OS from scratch (after writing your compiler and editor from scratch)? Heathen and dilettante!
TTFN - Kent
|
|
|
|
|
You didn't build your latest-generation CPU from scratch, starting with a pile of sand?!
Its only hardware...
If you have an important point to make, don't try to be subtle or clever. Use a pile driver. Hit the point once. Then come back and hit it again. Then hit it a third time - a tremendous whack.
--Winston Churchill
|
|
|
|
|
TheGreatAndPowerfulOz wrote: because you don’t understand it.
And that's because the developer who wrote it didn't provide adaquate documentation... sooo... yeah, don't use it.
|
|
|
|
|
I'm not sure I agree with you. Even something complicated, I know enough of how it might work that with some hand waving and magical incantations, I could at least describe the concept in pseudo code if not outright re-implement, given enough time.
So yeah, his statement is a bit too dramatic, but one should at least, IMO, be able to describe the theory of what's going on. Or, as I recently answered in an interview regarding how garbage collection works: "I used to know how garbage collection works, but really, if I need to know the gory details, I can always google that." But I did talk briefly of IDisposable and unmanaged resources, which appeased the natives.
Marc
|
|
|
|
|
Marc Clifton wrote: could at least describe the concept in pseudo code Of course, I agree. But that's not what the author wrote now did he? What he wrote is basically "don't even try to drive a car unless you can build one from the ground up, including mining the materials, smelting the steel, extracting rubber from the trees and making glass."
Pffft!
Marc Clifton wrote: his statement is a bit too dramatic Ya think??!?
#SupportHeForShe If your actions inspire others to dream more, learn more, do more and become more, you are a leader.-John Q. Adams
You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun
Only 2 things are infinite, the universe and human stupidity, and I'm not sure about the former.-Albert Einstein
|
|
|
|
|
"
A linked list is probably the most basic data structure in computer science and is the main building block that other data structures consist of.
Knowing this you should be able to develop and algorithm that, given the head node, will return the reversed node.
"
He doesn't seem to know about arrays.
I don't think I ever wrote a singly-linked list -- because I always wrote doubly-linked lists, every time.
If you think you need a feature, like reversing, you're better off building it right in (using a little more space) rather than wasting time to do it. We're always getting more space, but we're never getting more time.
|
|
|
|
|
PIEBALDconsult wrote: we're never getting more time So true.
#SupportHeForShe If your actions inspire others to dream more, learn more, do more and become more, you are a leader.-John Q. Adams
You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun
Only 2 things are infinite, the universe and human stupidity, and I'm not sure about the former.-Albert Einstein
|
|
|
|
|
PIEBALDconsult wrote: If you think you need a feature, like reversing, you're better off building it right in (using a little more space) rather than wasting time to do it.
Not everyone works on desktops or servers. Micro-controllers, for example, are inherently memory-limited, and adding memory can involve a major redesign, additional cost to the customer, delays in time to market, or all of the above. In these cases, you had better know the space-efficient algorithms, too.
If you have an important point to make, don't try to be subtle or clever. Use a pile driver. Hit the point once. Then come back and hit it again. Then hit it a third time - a tremendous whack.
--Winston Churchill
|
|
|
|
|
In modern environments, a linked list is frequently non-optimal, as it encourages non-locality, hence cache misses. Of course, there remain uses, where the size of nodes is typically large, but frequently a vector should be the first weapon of choice.
(Except in .NET of course, where a List<T> is for some reason stored as a vector (i.e. not linked). )
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
Alan Kay.
|
|
|
|
|
The latest tests show the company lags behind the leaders in malware detection. On the other hand, it leads on the "how much will it cost?" test
|
|
|
|
|
|
Another feature !
Patrice
“Everything should be made as simple as possible, but no simpler.” Albert Einstein
|
|
|
|
|
Top computer scientists and security experts are warning that government proposals to gain special access to encrypted communications could result in significant dangers. "Yeah, I'm a back door man "
|
|
|
|
|
"Well the men don't know but little girl understands".
Almost as unsettling as "Good Morning Miss Schoolgirl" in today's less innocent times.
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
Alan Kay.
|
|
|
|
|
The Visual Studio Engineering Team also announced today that Visual Studio 2015 will support sharing open source extensions hosted on GitHub within Visual Studio Gallery. I could have sworn they had something that worked like GitHub
|
|
|
|
|
nyah nyah
#SupportHeForShe If your actions inspire others to dream more, learn more, do more and become more, you are a leader.-John Q. Adams
You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun
Only 2 things are infinite, the universe and human stupidity, and I'm not sure about the former.-Albert Einstein
|
|
|
|
|
Cheeky monkey. OK, fixing that.
TTFN - Kent
|
|
|
|
|
I’m giving away MILLIONS of FREE Microsoft eBooks again! Hurry! Time limited offer. Crazy Eric's ebook store: our prices are INSANE!
Update: fixed thanks to the mighty, powerful, all-knowing (and editing) Oz
modified 7-Jul-15 17:29pm.
|
|
|
|
|
Is it possible to reduce – or even eliminate – the human factor when it comes to testing software releases? In a word, yes. Here’s how. Must. Stop. Mentioning. Betteridges's Law.
|
|
|
|
|
In this time of constant connection, more and more apps continue to be created. Extreme Agile Development? Supple Development? Agile Waterfall?
|
|
|
|
|
Plasma - as far away from SOLID as possible.
|
|
|
|
|
There’s a reality that software developers need to face: they need to learn how to do things right and do them fast.
When I was a young whippersnapper, I used to go to computer conventions. You know, the place where you used to be able to talk to other devs, see cool new ideas, who cared if they ever came to fruition, it was a time of imagination and thinking outside of the box.
I stopped going to computer conventions a long time ago, probably marked by when they were taken over by the new big guys and started to have rock bands introduce new tech.
But I digress. In that time, there were a few failed but interesting attempts at getting a computer to write computer programs. The demos were actually impressive, and the hardware was state of the art: 6502's clocking at 1Mhz.
The point being, if you want a computer program written fast and right, we need to get out of the mindset that programmers should do that, because frankly, they can't. Ever. Machine's will need to write programs for machines, and that's what we should be focusing on.
It's strange to me that some 30+ years later, we still don't have that ability. It actually isn't that hard of a nut to crack. Oh, but I forget, because of Agile and refactoring, the whole idea of spec'ing something out with sufficient detail that a monkey coder (or a computer algorithm) could write the code, well, that'll never happen, because nobody has the skills anymore to actually write a spec. User stories? Give me a break -- they are useful high level PowerPoint'ish methods of communicating but are hardly sufficient to describe the nitty gritty details of implementation.
And sure, in the beginning, there will be lots of hand coding of custom solutions. But again, nobody writes these things as components or services that can be plugged into an app, so they get rewritten, over and over and over again. I see no reason why a company couldn't have both a private library representing their intellectual property and, if the open source community could get its act in order, a suite of OS solutions that were truly plug-in components. We have a lot of work to do to get there, but it is certainly doable. I'm not counting on it happening in my life time though.
Marc
|
|
|
|
|
Not that I disagree ... completely off topic I know ... but isn't all the shapes of abstraction a form of such "let the computer do the details for you" approach to programming?
|
|
|
|
|