Programming

  • Comments posted to this topic are about the item Programming

  • I suspect the fundamental skill of logically analyzing a problem and coming up with a set of steps to solve it is becoming more important all the time.

    It sounds harsh, I know, but I've sure seen a lot of folks in the business of writing programs (whether it be front end or back end code) that apparently haven't gotten that word, yet.

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • Let me play the devil's advocate by disagreeing.

    Only a few decades ago, to operate a motor vehicle (at the time the most complex device known to the general public) you had to know quite a lot about the workings and operation of your vehicle to operate it safely and keep it running. Cleaning your carburettor, setting your plug gap, changing the oil were routine tasks that required some 'education' to accomplish.

    Not so today. And in a few short years even driving skills will be needless as fully automated cars deliver us quickly and safely without our input.

    In cases you haven't noticed, today's smartphones and tablets are routinely being operated by 3 year olds.

    We don't need more or smarter programmers. We just need tools that allow a business manager or analyst - or game developer - to meet their needs without getting their hands dirty with code. (Such tools exist, I've used one successfully for 20 years.) Once there was a performance penalty to pay but these days resources are cheap and almost limitless.

    After all the SQL language was an early example of such a tool! Its purpose was to allow non-programmers to manage and report data, something that was virtually impossible for them until then.

  • These days the jokes about people not understanding how to program a timer on a DVR are fading quickly

    I read this and although I can program most household devices, the photocopier is another matter, that thing has so many buttons, switches and options on than I can't even begin to guess at their function. As I say when I have to ask for help setting it up, "I only program computers, I'm not that clever!"

  • Programming (at least coding) seems to require a skillset that *IS NOT* common, in fact it's extremely rare. Spreadsheets are no more programming than they are databases, they are spreadsheets. Database administration is (for the most part) not programming either.

    Scripting begins to approach programming but your point about being able to break down a problem into its component parts and solve them logically is at the heart of why there will always be a programming profession. Because that isn't a natural fit for most humans.

    Most people literally can't think that way. They seem to think holistically, seeing the whole instead of the individual components. They can't "chunk". And there must be a reason for that, no doubt in our ancient past analyzers didn't react fast enough when charged by a saber-toothed tiger or something. 🙂

    Sure, teach kids programming along with all the other bits. It will be just one more thing most people forget, along with algebra and history and English writing skills... (laughing).

    Which brings up my final point. Programming is not a science, it is a craft. Yes, there are scientific principles you need to know, but technique will only take you so far. It's like writing. Good communication skills are vital, but as always specialists are required. A magnificent novelist couldn't write a decent tech manual to save their lives. The most talented tech writer can't create a world-class novel.

    Nor can a doctor or lawyer create their own pro-level software. Sure, lots of folks dabble, but that's why IT is such a mess...

  • Chuckles... I can build a server from the ground up, but transfer a phone call? I don't think so, Tim.

    Brian

  • Whilst it is true that there are dabblers, and that devices are getting easier to use, knowledge of basic programming techniques would be a great advantage.

    My phone/camera software downloads photos into a great big heap in my Pictures folder, to organise them in to folders by date I either have to move a lot of files manually, or I can write a script to organise them how I want. What I use to do this is a matter of personal choice, but probably Python if at home and VBScript or Powershell if at work.

    If this is something I am having to do, and I can quickly whip up a script to do this, then it is also a problem for a lot of people who don't have this skill and will get very frustrated when they have to spend hours sorting out their photo collection.

    Programming may be a specialist skill set, but the pattern required to move files based on a couple of loops can't be that difficult to learn, can it?

  • The whole mess of programming "between" different apps and data requires scripting or macro languages which are usually syntactically very ugly and kludgy. I generally end up doing a bulk insert of text into @tables in sql and slicing and diceing until I come up with text to save as a batch file and run through a cmd shell. I can only do this because of 30 years of experience. Last week I used sql to generate a batch file to rename 3000 files...saving me a day of work.

    I use sqlserver to bulk insert vb database solution and project files to automate quality checks and disk file verifications. I also use it to process folder and filenames.

    I learned Python for a week only to realize it can't access the clipboard - a real deal breaker for me since that is how I do most macro functions in other programs. I used Winbatch years ago but I think it is overpriced. I liked autokey but it is cryptic. I now use QuickMacros and love it for it's virtually unlimited power but it too takes hours to write a few lines.

    I see ScriptCS is in the works as a C# scripter. I'll check it out after it matures a few more months.

    I also have vedit which is probably the most powerful text manipulation macro language on the planet. The product may be suffering from underfunding and lack of evolution into object oriented-ness though.

    I also use notepad++ almost exclusively for its ability to search/replace across files using regex pattern matching.

    Even with all these tools I still get irritated at the difficulty of implementing the patterns in my mind into these disparate languages and paradigms.

    Anyone have any powerful, readable tools that serve as transforming and glueing swiss army knives?

  • I recall having a very similar thought when I finished my Accounting 101 class.

    Knowing my debits from my credits and my assets from my liabilities (and most importantly, my equity) seemed like something EVERYONE should know. After all - it doesn't matter how you make money, you should know what your balance sheet looks like, right?

  • Alex Gay (7/10/2013)


    Whilst it is true that there are dabblers, and that devices are getting easier to use, knowledge of basic programming techniques would be a great advantage.

    My phone/camera software downloads photos into a great big heap in my Pictures folder, to organise them in to folders by date I either have to move a lot of files manually, or I can write a script to organise them how I want. What I use to do this is a matter of personal choice, but probably Python if at home and VBScript or Powershell if at work.

    If this is something I am having to do, and I can quickly whip up a script to do this, then it is also a problem for a lot of people who don't have this skill and will get very frustrated when they have to spend hours sorting out their photo collection.

    Programming may be a specialist skill set, but the pattern required to move files based on a couple of loops can't be that difficult to learn, can it?

    You expect people to learn a scripting language? Even Python, as elegant and simple as it is, is far too complex for the kind of task you're talking about.

    I've tried to teach non-programmers how to program, and it's next to impossible. They can do "recipes" and that's about it. Loops, conditionals, etc, provoke a response of TL;DR. 🙂

    And that's not going to change, any more than introducing children to algebra makes them mathematicians. Or historians. Or geologists. The problem is not only is there an enormous amount to remember, syntax wise, there's a lot of grammer rules as well--it's very much like learning a foreign language. People can do it--but only if they REALLY need to.

    Even casual coding at the level you're talking about isn't something people want to devote the brain power to. Because it's alien, and not necessary for them to. That's what *pizza* and having a "computer friend" are all about. :hehe:

  • Bill Talada (7/10/2013)


    The whole mess of programming "between" different apps and data requires scripting or macro languages which are usually syntactically very ugly and kludgy. I generally end up doing a bulk insert of text into @tables in sql and slicing and diceing until I come up with text to save as a batch file and run through a cmd shell. I can only do this because of 30 years of experience. Last week I used sql to generate a batch file to rename 3000 files...saving me a day of work.

    I use sqlserver to bulk insert vb database solution and project files to automate quality checks and disk file verifications. I also use it to process folder and filenames.

    I learned Python for a week only to realize it can't access the clipboard - a real deal breaker for me since that is how I do most macro functions in other programs. I used Winbatch years ago but I think it is overpriced. I liked autokey but it is cryptic. I now use QuickMacros and love it for it's virtually unlimited power but it too takes hours to write a few lines.

    I see ScriptCS is in the works as a C# scripter. I'll check it out after it matures a few more months.

    I also have vedit which is probably the most powerful text manipulation macro language on the planet. The product may be suffering from underfunding and lack of evolution into object oriented-ness though.

    I also use notepad++ almost exclusively for its ability to search/replace across files using regex pattern matching.

    Even with all these tools I still get irritated at the difficulty of implementing the patterns in my mind into these disparate languages and paradigms.

    Anyone have any powerful, readable tools that serve as transforming and glueing swiss army knives?

    Python can access the clipboard, see here:

    http://stackoverflow.com/questions/101128/how-do-i-read-text-from-the-windows-clipboard-from-python

  • Good Article, working as a SQL Server DBA over the last 10 years I have forgotten how to actually sit down and write a simple windows program, it's just T-SQL and administration duties. This article makes me see how much I need to get back in the application development portion of my career.

  • I agree with this article. It seems obvious to me (I am a developer first, DBA second), but the linked to article pointed out things I didn't think of. For example, I know how to use Excel for basic tasks (in my job as a senior programmer analyst, using Excel isn't one of my requirements), but my boss, who isn't technical, is really a wiz at using Excel. She can make it come up with things like you wouldn't believe. I have to perform the data extractions, but once I've done that I can give it to her and she'll analyze it and make the presentation pretty.

    On the flip side, I'm going to show this article to my kids. I don't expect them to become programmers, most of them aren't interested in that, but I do think it is important that they realize the importance of having some technical skills under their belts.

    Kindest Regards, Rod Connect with me on LinkedIn.

  • I don't know that everyone can, or wants, to learn programming, but I do think there are a wider group of people that can than are doing it now. Some of it is exposure, some of it is opportunity. If we give everyone chances, more will learn to do it.

    I do think that programming as a skill isn't necessarily building methods, functions, classes, and code. It can be the analysis in Excel that uses formulas and arrangements.

    We ought to be pushing all types of programming more in society, IMHO.

  • We must be careful not to confuse the logic of how (process), with the logic of why (reason). It has been my experience that very few excel at both. I would argue that the ability to reason is more important to develop. For example, before you need to know how to build a bridge, you need to know if it makes sense to build one.

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

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