Starting to Program

  • Comments posted to this topic are about the item Starting to Program

  • My usual starting point for Powershell is with "The Scripting Guy" at http://technet.microsoft.com/en-us/scriptcenter/dd901334.aspx

    If he does not provide what I am looking for I then do a Google and/or Bing search.

  • When I needed to learn XPath and XQuery I went to W3Schools (www.w3schools.com), the tutorial was straight forward and has a good reference section.

    I started off as a VB6/VBA programmer years ago with the Microsoft Press book Visual Basic Step-By-Step and added SQL to this later.

    CodeAcademy (http://www.codecademy.com) has a basic introduction to Java.

    However most of the time I learn best from books (not e-books) and have found the O'Reilly books some of the best references with their "In A Nutshell" range. I also have a large collection of Microsoft Press books for topics such as ADO.NET, Powershell and C#.

  • VB should be the start as SSIS uses it and particularly VB.NET. I'd recommend a course first but my favourite website for getting to grips with vb.net web apps was 4guysfromrolla.com

  • The same advice holds true for a DBA learning to program as anyone else learning to program; determine your goals.

    For any DBA, I'd say learning SQL would be the most important - not just memorizing Microsoft additions, but really working with the language at a detailed level. You'll note that the advanced scripts we see use a variety of concepts to achieve their aims, some of which are little Microsoft based tricks, and some of which are very sound, generalizable algorithms and techniques. SQL Parameters are essentially no different than variables in other languages, passing arguments is similar - make use of OUTPUT parameters in stored procedures, and that'll be a sound base for other procedural languages.

    If you're not serious, then play around with whatever you like - I'd recommend, in general, a scripting language.

    A simple set would be SQL, batch files or Powershell, and x.NET or Python or another modern easy to write language.

    If you are serious, pick about three disparate languages... and learn your algorithms and underlying constructs. Learn about sorting algorithms, from bubble and selection sorts to hash and quick sorts. Learn about pointers and trees and linked lists and hash tables and other data structures. Learn about network coding - at a minimum, TCP and UDP. Learn about disk access, buffered and unbuffered, sequential and random. Learn about CPU instruction sets. Learn about stack based vs. register based coding. Learn about word alignment. Learn about data types. Learn about parallel programming. Learn about memory management.

    A very serious set would be, say, SQL, C, and some CPU's assembly language - after learning these three, anything other procedural language is just syntax.

    (1)C++ can be learned as an adjunct for object oriented programming, but for the very serious, learn C first; object orientation is an abstraction layer for the programmer that doesn't survive at the instructions the CPU executes.

    A moderate set would be, say, SQL, x.NET or Python or another modern easy to write language, and either C or an assembly language.

    x.NET - all .NET languages are essentially a front end to a very large library of functions and procedures, with minor syntactical differences. VB.net is case insensitive, C#.net is case sensititive.

  • I've actually started tinkering around lately with, Inform, a natural language programming tool for writing interactive fiction (remember Zork?). There are tons of tutorials and examples out there, and most of the stories are published free along with the source code. This would make an excellent entry point for school kids who are interested in programming computers. Also, for those of us who program professionally, it's nice to cleanse the pallet at the end of the day and program something that doesn't involve number crunching and deadlines.

    Inform website.

    http://inform7.com/learn/

    A website hosting an Inform interperter, IDE, place for writers to post their stories.

    http://playfic.com/

    "Do not seek to follow in the footsteps of the wise. Instead, seek what they sought." - Matsuo Basho

  • I've done some Powershell, although mostly I've found scripts to accomplish what I need in general, then fine-tune them. An excellent resource for picking up on Powershell is the Sapien Press book: TFM - Windows Powershell 2.0

    Also, as Frank W stated, the Microsoft Scripting Guys are also a big help.

    Jason

  • I was a programmer long before I had anything to do with SQL. I started coding in BASIC on a ZX Spectrum 30-odd years ago. I've done Pascal, C, C++, C#, and assembly in my time, and yet the language I find the most frustratingly difficult to figure out is, you guessed it, SQL. The mindset you need to be in to do things in a set-based fashion as opposed to a procedural fashion is utterly different, and I suspect it's actually easier to come at this from the SQL side to the procedural side than it is to do it the other way round!

    As for learning procedural languages, I actually think a BASIC variant is a pretty good place to start. The syntax is certainly more akin to SQL than, say, C is (using <> for "not equals" and Boolean operators spelt out as their English names, for instance), and modern BASICs are considerably more structured than the famed spaghetti code generators of yore. You can also use VB.NET to write your CLR routines once you're done!

  • As a programmer, three skills I suggest are: version control, project management and documentation.

    As for a .NET language to use with SQL Server and it's features, I hate the fact that VB is supported more than C#.

  • Steve,

    I got a real bang seeing that photo on the right hand side of your editorial. Not many people can say they actually ever used a card punch machine. I can say that I used it and enjoyed it. and was really good at it.. and it brings back some good feelings of the past - like BASIC, FORTRAN, ASSEMBLER and yes COBOL.

  • .net stuff

    http://www.homeandlearn.co.uk/net/vbnet.html

    http://www.google.com/url?sa=t&rct=j&q=.net%20basics%20tutorial&source=web&cd=3&ved=0CFgQFjAC&url=http%3A%2F%2Fdownload.microsoft.com%2Fdownload%2F8%2Fe%2F7%2F8e725d96-7ec3-498b-9fa7-86779aed101f%2Fdotnet%2520tutorial%2520for%2520beginners.pdf&ei=Hvf2T_uBHefo0QHg3ui9Bg&usg=AFQjCNGMBVWUAloXCkrDy6q7BCidxw_zQA PDF tutorial

    http://asp.net-tutorials.com/basics/introduction/ ASP tutorial

    powershell stuff

    http://www.powershellpro.com/powershell-tutorial-introduction/tutorial-windows-powershell-console/ use sidebars to nav

    http://powertoe.wordpress.com/2009/11/10/powershell-part-1/ navigate thru it

    http://technet.microsoft.com/library/ee332526.aspx task based

    I'd suggest picking to learn one or two language flavors to do what you need. I like to have monitoring pages and dashboards to look at and into the complex environments, I work in. So .net and powershell make a formatable supporting cast since most of what I want to know I get from SQL. All the secrets are kept in these things called books...

  • As an old programmer, I recommend a .net language. I prefer C#, but VB is closer to English and is used in Microsoft Applications like Access and Excel.

  • You must be a youngster - that's an 029 keypunch! When I punched FORTRAN cards, I used an 026!:-D

    (Thanks to http://www.columbia.edu for the image!)

  • Ah, programming. Definitely where I feel most "at home", as I am a programmer first, and then an accidental DBA second. However, I've been programming for a long time. What I started on is probably no longer relevant. If its a new programming language I'm trying to learn, then I'll often go to Amazon.com to see if I can find a book on it. If there's a tough problem I've encountered while programming I'll post a message on Microsoft's MSDN forums (social.msdn.microsoft.com) and on StackOverflow (stackoverflow.com). Both are excellent.

    Kindest Regards, Rod Connect with me on LinkedIn.

  • Michael Meierruth (7/6/2012)


    Steve,

    I got a real bang seeing that photo on the right hand side of your editorial. Not many people can say they actually ever used a card punch machine. I can say that I used it and enjoyed it. and was really good at it.. and it brings back some good feelings of the past - like BASIC, FORTRAN, ASSEMBLER and yes COBOL.

    Thought a few people would like that. I didn't do cards, but I did do early compiles where I could watch the lines of code compile on the screen. And read them as they went by

Viewing 15 posts - 1 through 15 (of 27 total)

You must be logged in to reply to this topic. Login to reply