Hacker News new | ask | show | jobs
by HilbertSpace 5670 days ago
Part II

Yes, since we mentioned that database and printed forms are close, sure, database and forms on a screen, from either Windows or a Web page, are also close, and there is software to make routine 'forms' applications easy.

All things considered, as serious programming languages go, Visual Basic (now) is close to the top of the list both in what it can do and how easy it is to do it. Its 'managed memory' is nicely advanced and a real help for programmers; there's hardly a programmer on the planet both smart and careful enough to write significant on-line software without the help of 'managed memory' and not make at least some fairly serious errors.

What do you type into? Mostly the norms are to type your software into an 'integrated development environment' (IDE), and on Windows that would likely be Visual Studio (VS). For the Microsoft relational data base software SQL Server, are supposed to type into SQL Server Management Studio (SSMS).

I minimize SSMS and flatly refuse to use VS. Instead I just picked a good text editor (KEdit) with a lot of power (including an elegant macro language to automate things) and use it to type this post, TeX for mathematical word processing, e-mail, Visual Basic code, SQL Server 'scripts' in the language T-SQL, Web pages (using ASP.NET), and more.

Then I also have a 'scripting' language, ObjectRexx, also elegant. Likely now a better alternative would be Power Shell.

Then get a copy of

Jim Buyens, 'Web Database Development, Step by Step: .NET Edition', ISBN 0-7356-1637-X, Microsoft Press, Redmond, Washington, 2002.

It is some of the best technical writing on computing ever typed in.

That book will very much get you going.

For more, just look at the other books in the Microsoft series, read the on-line Microsoft documentation, and find more via Google.

No source of information on current programming is without flaws: For each topic, it is usually good to have more than one source. If from one source something is just not clear, then don't blame yourself and, instead, try other sources.

In the code you write, here's the most important consideration: Put in a lot of comments explaining what you are doing, and also put in references to the documentation on the details. Write your documentation clearly enough that anyone else could read your software and understand it, and that includes you six months from now. Otherwise, when you write your code, only God and you will understand it, and six months later, only God. This is why if you ask a 'developer' to modify a program written by someone else, the developer may just start over.

For 'quality', put the software aside until you forget the details, and then 'proof read' it as if some person you hate wrote it and you will get $1000 and bragging rights for each error you find.

Another point is, at any point in your code, when you receive data, CHECK it for reasonableness. So if you are writing some code to scan a list of users and find those in Maryland, make sure the code works even if the list has only 1 entry, no entries, no one in Maryland, and everyone in Maryland; this is called testing 'edge' cases. The easiest place to find subtle errors is in the edge cases. The easiest way to check correctness in edge cases is just to read the code carefully, VERY carefully, one edge case at a time.

In particular, if your Web site takes in data from a user, write code so that just absolutely, positively nothing at all can ever go wrong with your code no matter WHAT bits or bytes come in from the user -- no matter WHAT.

If you hire anyone, then they will have to do maybe 30% as much as you will in learning. Or, they learned HTML and then had to learn CSS, then ADO.NET, then Ajax, then Flash, then HTML5, and now four different smart phones. NO ONE knows all such stuff and, instead, just has to learn. The main difference for you is just that initially you have to learn more.

If you don't have (A) above, especially for computer science, then will this be important? Likely not: Occasionally you may do something inefficiently. For questions, post on fora, including HN. Again, mostly you will just be writing glue, not blocks that the glue joins.