Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×

Comment She has gamed the system (Score 1) 239

Collins has obviously gamed the system in some way. I have looked through the "highlighted" passages, and they are not so memorable that they would be highlighted as often as claimed. I don't know how she did it (software maybe?), but her books have more highlights than longstanding works that have much more thought-provoking and memorable content. It is somehow a scam.

Comment Whatever happened to invitation-only discussions? (Score 1) 361

In the book "Ender's Game", Orson Scott Card envisioned Internet forums that are invitation-only. One gets to belong to the more respected forums only by being invited, and that only happens if one proves one's worthiness by contributing quality ideas and information.

Things sure have not turned out that way. Indeed, today we have a kind of mobocracy. Things are too flat. It is good that the old gatekeepers can be sidestepped, but it is not good that there is so much noise that it is hard to decide what to trust.

Even worse, the old gatekeepers are back: paid promotion is alive and well on the Internet.

Comment High-Assurance Design (Score 3, Informative) 66

Those who are interested in this book might also be interested in High-Assurance Design (660 pages, Addison-Wesley). (See http://assuredbydesign.com/haa/) It has a foreword by Peter Neumann, and contains much of the same material as the book being reviewed, as well as many secure design patterns, social engineering patterns, and attack patterns. The book also covers the topic of software reliability - not just security. Disclosure: I wrote High-Assurance Design, as well as Prentice Hall and Sun Microsystem's book Advanced Java 2 Development For Enterprise Applications.

Comment Email is not going away (Score 1) 601

I pay all of my bills electronically, and receive all communication from my home services (electricity, Comcast, mortgage, banking, etc.) via email. When I receive things in the regular mail I pretty much just scan through it and throw it all away.

In my work, nearly all communication is via email, both internal and with clients. Whoever says that "no one uses email anymore" lives in some kind of bubble.

Email is a replacement for snail mail, and it serves a universal purpose that has existed since the dawn of the written word: the ability to send someone a message. That simple use case is not going away. And not everyone belongs to Facebook. I don't, and will never, because I don't trust them. Google+, yes, I have an account, but not everyone does. Email is universal in that you can reach anyone who has an email address.

Comment Re:That CS is not "programming" (Score 1) 315

Yes, you are right about that. Practical, hands-on knowledge and experience are essential if one wants to be able to design buildable things.

Also, I don't mean to disparage people who are self-taught (i.e., who do not have a formal CS or SE degree). Some of the best software architects I have known were self-taught. But those are people who had deep curiosity. They were not hackers. E.g., one of them, who had been a spoken language researcher (as in French, Italian, etc., not computer languages) took up computer science on his own and, as he described it, endeavored to "write every type of program". So, e.g., he wrote a small operating system, he learned how to write compilers (read Aho & Ullman) and wrote a few, wrote a text editor, etc. (This was many years ago, before distributed programming was important.) He taught himself the concepts of computer science, rather than just hacking out programs using gut instincts.

Comment Re:That CS is not "programming" (Score 1) 315

Actually, some people think that the end of the programming era is not far off: http://www.thinq.co.uk/2011/8/22/dr-dharmendra-modha-cognitive-computing/

But my main point was that computer science is not programming, and programming is not computer science. To equate the two is like equating the study required of a car mechanic with the study required of an automotive engineer.

Comment Re:That CS is not "programming" (Score 1) 315

No, I have no spare copies. But on Amazon you can get it for $35.86.

I know that it costs a-lot to buy books. The publisher gets most of that: I get only $2 on the sale of each book. Publishers need to rake in a large percentage because most books are a money loser once you factor in all the production and distribution costs. (The distributor, whether it is Amazon or Barnes & Noble, generally keeps about half of the sale price.) The few best sellers make up for that and make their business profitable. For a highly successful technical book, one is usually talking about sales of 10,000 copies per year, with a run of a few years. Contrast that with a successful novel, which might sell millions of copies. For most technical authors, writing a book is a labor of love: there is no real money in it. Just as in basketball, only a very, very tiny fraction of the "players" (authors) make any real money, and in the arena of technical books even those "players" don't get rich.

So when you look at a technical book, realize how much effort went into it (typically about three years of someone's life), and when you consider that they have put their most valuable knowledge and experiences into the book, it then seems like quite a bargain!

Comment Re:That CS is not "programming" (Score 1) 315

Yes, very astute way of putting it.

By way of example, I have written three computer related books. All three were published by reputable publishers (Prentice Hall, Addison-Wesley). The first two did really well. They were programming books ("Advanced Java Development For Enterprise Applications", and "Advanced Java 2 Development For Enterprise Applications"). The third book was called "High-Assurance Design: Architecting Secure and Reliable Enterprise Applications". It did extremely poorly. I found out that only a very, very small percentage of IT developers are interested in building reliable and secure systems. Based on the success of my earlier purely programming books, I have concluded that most developers are indeed just interested in hacking things out. Your experience confirms this.

And there is nothing wrong with people who just want to "hack things out". That is a tinkerer's mentality, and we need tinkerers. Tinkerers are the people who build things (using someone else's design). Tinkerers are the people who fix things when they break. The problem is, we have computer science classes filled with a mix of tinkerers and analytical thinkers - and the two do not benefit equally from a computer science curriculum.

Computer science should be for people who design things. Software Engineering is for the rest.

In the sciences in general, there is a sharp philosophical divide between the "theorists" and the "experimentalists". The former are the analytical people. The latter are the tinkerers. We need both. But the two camps generally do not appreciate each other. And it is true that a good theorist must be able to tinker a little bit, and a good experimentalist must know the basics of theory - even if they are not very interested in it.

So I think that we need far more people enrolled in Software Engineering, rather than Computer Science. Computer Science should be for people who want to design complex and reliable systems, and for people who want to figure out better ways of designing systems. And as a corollary to that, the task of designing complex and reliable systems should be reserved for people with an adequate knowledge of computer science.

Comment That CS is not "programming" (Score 3, Insightful) 315

That "programming" is merely the current paradigm for computing; and that even the term "computing" might become obsolete in not too long. That computer science should be about tackling the hard problems and putting their solutions into practice, including how to create reliable and trustworthy (secure) systems, how to engineer and deploy systems quickly, how to design flexible systems, how to design usable systems. Hacking out programs is not "computer science" and should not be confused as such. It is merely "hacking".

Slashdot Top Deals

PURGE COMPLETE.

Working...