﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>SQLServerCentral / Editorials / SQLServerCentral.com  / Learning C / Latest Posts</title><generator>InstantForum.NET v2.9.0</generator><description>SQLServerCentral</description><link>http://www.sqlservercentral.com/Forums/</link><webMaster>notifications@sqlservercentral.com</webMaster><lastBuildDate>Sat, 25 May 2013 14:46:50 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>[quote][b]TravisDBA (8/16/2012)[/b][hr][quote][b]Lynn Pettis (8/16/2012)[/b]And yes, you can do that now in VS in ANY .net language, but it isn't the language or the tool that should take the blame for poorly designed or implemented code.[/quote]Gotta agree with you there Lynn. One cannot blame the car for their poor driving skills.:-D[/quote]PHP!</description><pubDate>Fri, 17 Aug 2012 09:32:44 GMT</pubDate><dc:creator>patrickmcginnis59</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>Teaching C programming to enginerring students in university is about like teaching medical students Latin. Upon graduating, engineers would benefit more from Java and SQL, and future doctors would benefit more from Spanish.</description><pubDate>Fri, 17 Aug 2012 07:42:34 GMT</pubDate><dc:creator>Eric M Russell</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>[quote][b]sturner (8/16/2012)[/b][hr][quote][b]TravisDBA (8/16/2012)[/b][hr]One cannot blame the car for their poor driving skills.:-D[/quote]Ever hear of the Yugo?  :hehe:[/quote]Yes, but one bad car maker imported from Yugoslavia doesn't change my basic point.:-D</description><pubDate>Thu, 16 Aug 2012 12:11:54 GMT</pubDate><dc:creator>TravisDBA</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>[quote][b]Steve Jones - SSC Editor (8/16/2012)[/b]I think Assembler is too hard. The concepts there are unlike anything else, but lots of stuff builds on C. I started with BASIC and some PEEK/POKEs with minor assembler routines on AppleIIs, but I really learned programming and structures on PASCAL. That was good, but when I went to C, I found bad habits from PASCAL that didn't fly in C.I think C really is a good place to get early because it makes you be very careful.[/quote]Steve also taught his children to walk by leaving them in a field of rocks, sharp sticks and snakes ...and they're better for it. btw, peek/poke on AppleII - haha I don't miss those good ol' days.  I also don't miss the college classes in Modula II (Pascal's retentive cousin).  To be honest though, I don't think anyone should learn programming via copy/paste/tweak in PHP either.isn't the issue here the difference between merely "writing code" and well-engineered solutions?</description><pubDate>Thu, 16 Aug 2012 12:03:02 GMT</pubDate><dc:creator>Mike Dougherty-384281</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>[quote][b]Tim Wilson-Brown (8/15/2012)[/b][hr]When I did software engineering at university (2001-2005), we learnt C for networking, SQL for database theory, and Java for concurrency. [/quote]I think this is a good approach.  Procedural, Object Oriented, and Relational are all different concepts and each should be learned with an appropriate language as a tool for learning the concept.  C is a good choice.  Personally, I enjoyed my years using and supporting Pascal - wrote a compiler and interpreter for Pascal and supported it for several years.  I feel my Bachelors in CS from 1982 had the advantage of including the range from Assembly Language to C.  Later, on the job, I learned the Object Oriented concepts with SmallTalk and Object Oriented C.  More recently I have picked up SQL.  I find it is relatively easy to pick up new languages because I have a good foundation of understanding down to the bit level what is happening.  That is needed and appropriate for a professional software engineer.  For the rest of the folks, some set of tools to understand the concepts of procedural design, object oriented design, and relational design is what we need.</description><pubDate>Thu, 16 Aug 2012 10:55:44 GMT</pubDate><dc:creator>ramona.johnson</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>[quote][b]Steve Jones - SSC Editor (8/16/2012)[/b][hr]I think C really is a good place to get early because it makes you be very careful.[/quote]Agreed. Sloppy programmers don't have much success with C because they usually get impatientand move on to VB.  OSs and device drivers are mostly written in C, and of course you really can't learn C++ until you know C !</description><pubDate>Thu, 16 Aug 2012 10:25:40 GMT</pubDate><dc:creator>sturner</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>[quote][b]Lynn Pettis (8/16/2012)[/b][hr]Discipline in writing good code doesn't come from the language, it comes from having the proper training and mentoring.  I am sure that there are C &amp; C++ programmers that are just as inefficient as the VB programmers you disparage as I am sure that there are VB programmers out there that can write better code than many C &amp; C++ programmers.Bottom line, it isn't the language that makes the programmer.[/quote]I agree and disagree. Programmers aren't a fault of the language, but at the very beginning, the languages matter. When I see some of the stuff my son has done with languages, it's neat to see him get started with learning languages, but you can very quickly develop bad habits because you never have to deal with some things. You might not deal with them later, but understanding them is important. A short beginning in C, not writing COM stuff or web services, but simple card sorting, moving lists around, learning to read and write input, builds good habits because without them you can't get the assignments done.It's kind of like saying that a carpenter shouldn't use a hand plane or hammer because a nail gun or power sander teach the same things. They don't. Even if they are more efficient, you gain something by working slower and harder at first.</description><pubDate>Thu, 16 Aug 2012 10:23:26 GMT</pubDate><dc:creator>Steve Jones - SSC Editor</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>[quote][b]Steve Jones - SSC Editor (8/16/2012)[/b][hr][quote][b]Mike Austin-398977 (8/15/2012)[/b][hr]By your reasoning, all of us should be required to take a course in transmission repair before we're allowed to drive a car.  [/quote]Not quite a good analogy. Programmers, even analysts that program, are more like mechanics or builders of cars than drivers.[/quote]How about the difference between operating a car and driving a car?  It's the difference between an automatic and manual transmission.  With an automatic, you operate the car, where as with a manual you actual drive.  You have to pay attention to more when driving a car (or other vehicle) with a manual transmission than you do with an automatic.You could say the same thing about programmers/developers.  If you learn initially with a language that requires a better understanding of what goes on behind the scenes, the better.  This language does not have to be C.  Sorry, but I learned BASIC, FORTRAN, ALGOL, COBOL, and Focal (A DEC Language) back in high school.  Didn't have all the fance stuff you have now in these cool IDE's (VS) that are around today.If you teach a programming class using VB.NET, but make them use Notepad for writing the programs and the command line compiler to compile the code, do you think they may learn more because they don't have the IDE there to help them?  Probably.</description><pubDate>Thu, 16 Aug 2012 10:19:24 GMT</pubDate><dc:creator>Lynn Pettis</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>[quote][b]sturner (8/16/2012)[/b][hr]If you learn to think in clean object oriented mentality (which is C# &amp; C++) you are well on your way to thinking outside the box and applying this thinking to the very design itself, not just the classes and methods that you write to implement it.[/quote]I agree. Those (or Java) should come right after C. However C gets you going a little quicker with basic structures. Understanding variables, loops, sorts, minor stuff. A semester, or 6 weeks of C just gets you moving, then go to OOP stuff.</description><pubDate>Thu, 16 Aug 2012 10:18:58 GMT</pubDate><dc:creator>Steve Jones - SSC Editor</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>[quote][b]Alex Gay (8/16/2012)[/b][hr]I think Steve should have added, "If you have ever programed in Assembler, of any kind, you know what you are doing and are except".  I wouldn't recommend C as a starting language, but once you can program it is always good to learn what your compiler is doing behind the scenes, or to continue someone else's analogy, once you can drive learn how a car really works.[/quote]I think Assembler is too hard. The concepts there are unlike anything else, but lots of stuff builds on C. I started with BASIC and some PEEK/POKEs with minor assembler routines on AppleIIs, but I really learned programming and structures on PASCAL. That was good, but when I went to C, I found bad habits from PASCAL that didn't fly in C.I think C really is a good place to get early because it makes you be very careful.</description><pubDate>Thu, 16 Aug 2012 10:17:40 GMT</pubDate><dc:creator>Steve Jones - SSC Editor</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>[quote][b]TravisDBA (8/16/2012)[/b][hr]One cannot blame the car for their poor driving skills.:-D[/quote]Ever hear of the Yugo?  :hehe:</description><pubDate>Thu, 16 Aug 2012 10:06:34 GMT</pubDate><dc:creator>sturner</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>[quote][b]Mike Austin-398977 (8/15/2012)[/b][hr]By your reasoning, all of us should be required to take a course in transmission repair before we're allowed to drive a car.  [/quote]Not quite a good analogy. Programmers, even analysts that program, are more like mechanics or builders of cars than drivers.</description><pubDate>Thu, 16 Aug 2012 10:05:36 GMT</pubDate><dc:creator>Steve Jones - SSC Editor</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>[quote][b]Lynn Pettis (8/16/2012)[/b]And yes, you can do that now in VS in ANY .net language, but it isn't the language or the tool that should take the blame for poorly designed or implemented code.[/quote]Gotta agree with you there Lynn. One cannot blame the car for their poor driving skills.:-D</description><pubDate>Thu, 16 Aug 2012 10:03:24 GMT</pubDate><dc:creator>TravisDBA</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>[quote][b]sturner (8/16/2012)[/b][hr][quote][b]Lynn Pettis (8/16/2012)[/b][hr]I have to disagree with you.  First, C &amp; C++ programmers don't know things from the get go, they had to learn about the penalties for using things like COM and DCOM just like anyone else.  This learning could be from college course work, OJT, or mentoring from other more experienced developers.  Many VB programmers learned what they know on there own with little mentoring or formal training.[/quote]No they don't... or didn't (have to learn about COM and DCOM) because all they needed to do to create and use these things was basically click a button in VS. You don't learn anything significant from dragging and dropping things then hitting the "compile" button. You couldn't really get away with that using C or C++ (though you basically can now with C#).[/quote]You are still blaming the language.  It is the person.  Yes, in VB you can do things without knowing what they are doing behind the scenes.   Unfortunately, not everyone works that way.  there are programmers (developers) out there that have never touched C or C++ who actually do understand what is happening behind the scenes because 1) they researched it and learned about what was happening, 2) were mentored by someone who understood these things and based on this knowledge.And yes, you can do that now in VS in ANY .net language, but it isn't the language or the tool that should take the blame for poorly designed or implemented code.</description><pubDate>Thu, 16 Aug 2012 09:26:46 GMT</pubDate><dc:creator>Lynn Pettis</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>[quote][b]Lynn Pettis (8/16/2012)[/b][hr]I have to disagree with you.  First, C &amp; C++ programmers don't know things from the get go, they had to learn about the penalties for using things like COM and DCOM just like anyone else.  This learning could be from college course work, OJT, or mentoring from other more experienced developers.  Many VB programmers learned what they know on there own with little mentoring or formal training.[/quote]No they don't... or didn't (have to learn about COM and DCOM) because all they needed to do to create and use these things was basically click a button in VS. You don't learn anything significant from dragging and dropping things then hitting the "compile" button. You couldn't really get away with that using C or C++ (though you basically can now with C#).The point that I'm trying to make is that providing too simplistic an interface, or a eliminating the requirement for higher levels of skill to start building and using complex software and database designs have often led to very poor and non-scalable systems, this includes database designs as well. I know because I've had to fix enough of them.</description><pubDate>Thu, 16 Aug 2012 09:13:48 GMT</pubDate><dc:creator>sturner</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>[quote][b]sturner (8/16/2012)[/b][hr][quote][b]roger.plowman (8/16/2012)[/b][hr]Much of my objection to C comes from the sheer grunt work of memory management. C is notorious for memory leaks and buffer overflows. While VB dialects before VB.Net had other issues (some quite bad, agreed) memory leaks and buffer overflows weren't part of them.[/quote]C has always been a language requiring more discipline than a lot of VB programmers have patience for:  declaring variables for type consistency and data integrity, properly managing use of all system resources (not just memory).  Take COM for example: so deceptively easy to build the objects in VB and thus lose sight of the heavy performance penalty paid in marshalling data across the interface. C &amp; C++ programmers undertand this from the get go and would avoid this mechanism wherever possible because they would have had to build them from the inside out. I can't tell you how many performance and scalability issues I have dealt with over the years because of COM and DCOM. Thankfully it is slowly fading away.SQL server is written in C &amp; C++ as is windows and UNIX and Linux.  Those having the competency and discipline to program in C and C++ have the capability to develop very powerful applications that are capable of getting very close to the OS for performance reasons. Its not for everybody, as you state, and for those folks they should stick with VB and VBA.[/quote]I have to disagree with you.  First, C &amp; C++ programmers don't know things from the get go, they had to learn about the penalties for using things like COM and DCOM just like anyone else.  This learning could be from college course work, OJT, or mentoring from other more experienced developers.  Many VB programmers learned what they know on there own with little mentoring or formal training.Discipline in writing good code doesn't come from the language, it comes from having the proper training and mentoring.  I am sure that there are C &amp; C++ programmers that are just as inefficient as the VB programmers you disparage as I am sure that there are VB programmers out there that can write better code than many C &amp; C++ programmers.Bottom line, it isn't the language that makes the programmer.</description><pubDate>Thu, 16 Aug 2012 09:06:33 GMT</pubDate><dc:creator>Lynn Pettis</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>[quote][b]roger.plowman (8/16/2012)[/b][hr]Much of my objection to C comes from the sheer grunt work of memory management. C is notorious for memory leaks and buffer overflows. While VB dialects before VB.Net had other issues (some quite bad, agreed) memory leaks and buffer overflows weren't part of them.[/quote]C has always been a language requiring more discipline than a lot of VB programmers have patience for:  declaring variables for type consistency and data integrity, properly managing use of all system resources (not just memory).  Take COM for example: so deceptively easy to build the objects in VB and thus lose sight of the heavy performance penalty paid in marshalling data across the interface. C &amp; C++ programmers undertand this from the get go and would avoid this mechanism wherever possible because they would have had to build them from the inside out. I can't tell you how many performance and scalability issues I have dealt with over the years because of COM and DCOM. Thankfully it is slowly fading away.SQL server is written in C &amp; C++ as is windows and UNIX and Linux.  Those having the competency and discipline to program in C and C++ have the capability to develop very powerful applications that are capable of getting very close to the OS for performance reasons. Its not for everybody, as you state, and for those folks they should stick with VB and VBA.</description><pubDate>Thu, 16 Aug 2012 08:36:31 GMT</pubDate><dc:creator>sturner</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>[quote][b]sturner (8/16/2012)[/b][hr][quote][b]Alex Gay (8/16/2012)[/b][hr]I wouldn't recommend C as a starting language, but once you can program it is always good to learn what your compiler is doing behind the scenes, or to continue someone else's analogy, once you can drive learn how a car really works.[/quote]The worst software designs I have ever seen (and still see) are created by VB programmers. Now in recent years M$ has added object oriented capabilities to the VB language and constructs that allow for strong type consistency, but the problem is the legacy of programs and the programmers who conceived them from a language where everything is an object and you can add apples to oranges without a complaint from the compiler (or in the case of VBscript, the interpreter).If you learn to think in clean object oriented mentality (which is C# &amp; C++) you are well on your way to thinking outside the box and applying this thinking to the very design itself, not just the classes and methods that you write to implement it.[/quote]But we aren't talking about C# or C++, we're talking about C, which is NOT an object oriented language. VB.Net *is*, however, just like C#.Much of my objection to C comes from the sheer grunt work of memory management. C is notorious for memory leaks and buffer overflows. While VB dialects before VB.Net had other issues (some quite bad, agreed) memory leaks and buffer overflows weren't part of them.My other objection to c-family languages is simpy the syntax, the actual notation used to write the language. Basic-family languages (including FORTRAN and Pascal) tend to be easier to read and scan, without a lot of syntax-sugar that's easier for compilers but harder on the eye. I also object to arbitrary use of white space, which both c-family and SQL-family languages abuse horribly.As for software design :) that's entirely up to the programmer. Good habits are good habits, regardless of language. However I would point out there's a *reason* c-family languages are used for obfuscation contests. (chuckle).</description><pubDate>Thu, 16 Aug 2012 08:18:07 GMT</pubDate><dc:creator>roger.plowman</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>[quote][b]sturner (8/16/2012)[/b][hr][quote][b]Alex Gay (8/16/2012)[/b][hr]I wouldn't recommend C as a starting language, but once you can program it is always good to learn what your compiler is doing behind the scenes, or to continue someone else's analogy, once you can drive learn how a car really works.[/quote]The worst software designs I have ever seen (and still see) are created by VB programmers. Now in recent years M$ has added object oriented capabilities to the VB language and constructs that allow for strong type consistency, but the problem is the legacy of programs and the programmers who conceived them from a language where everything is an object and you can add apples to oranges without a complaint from the compiler (or in the case of VBscript, the interpreter).If you learn to think in clean object oriented mentality (which is C# &amp; C++) you are well on your way to thinking outside the box and applying this thinking to the very design itself, not just the classes and methods that you write to implement it.[/quote]Seems to me you are blaming the language (VB) for the lack of skill on the part of the programmer.  The problem isn't the language, it is the person and the lack of formal training and/or mentoring.  Yes, the language made it easier to write poorly designed software but it still isn't the fault of the language.</description><pubDate>Thu, 16 Aug 2012 08:11:23 GMT</pubDate><dc:creator>Lynn Pettis</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>[quote][b]Eric M Russell (8/15/2012)[/b][hr] If you teach them C, they'll spend weeks learning how print "Hello World" on a console, will never use it, and will forget everything three months.[/quote]Ah, you are referring to the people that are usually the ones that get promoted to chief architect. :-P</description><pubDate>Thu, 16 Aug 2012 08:10:29 GMT</pubDate><dc:creator>sturner</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>I like this idea. Before I even started down an IT path and degree, I taught myself what I could about C to see if I would really enjoy programming or not (although I did learn BASIC on an Apple II when I was 14 but that doesn't count). I think having started out on a functional language has helped me be a more concise/efficient programmer. Does it have to be C? Probably not, but nothing make me roll my eyes faster then when I start reading all these comments about "Oh this language is better than that language" and I start having flashbacks to kindergarten. The fact is, a language is a tool and if you think one of the major languages is inferior to another it perhaps may be in a particular problem space like when using a screwdriver on a nail, but 9 times out 10 the 'deficiencies' can be lain at the feet of the programmer. </description><pubDate>Thu, 16 Aug 2012 08:00:26 GMT</pubDate><dc:creator>cdonlan 18448</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>[quote][b]Alex Gay (8/16/2012)[/b][hr]I wouldn't recommend C as a starting language, but once you can program it is always good to learn what your compiler is doing behind the scenes, or to continue someone else's analogy, once you can drive learn how a car really works.[/quote]The worst software designs I have ever seen (and still see) are created by VB programmers. Now in recent years M$ has added object oriented capabilities to the VB language and constructs that allow for strong type consistency, but the problem is the legacy of programs and the programmers who conceived them from a language where everything is an object and you can add apples to oranges without a complaint from the compiler (or in the case of VBscript, the interpreter).If you learn to think in clean object oriented mentality (which is C# &amp; C++) you are well on your way to thinking outside the box and applying this thinking to the very design itself, not just the classes and methods that you write to implement it.</description><pubDate>Thu, 16 Aug 2012 07:25:35 GMT</pubDate><dc:creator>sturner</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>I think Steve should have added, "If you have ever programed in Assembler, of any kind, you know what you are doing and are except".  As someone who started with BBC BASIC, and migrated via Pascal to Visual Basic, and now several other languages, I can honestly say that the best short course I have ever done was a 12 week course in C/C++ about 10 years ago, not because it is a great language but because it doesn't have the layers of obfuscation that other languages have.  I finally understood why VB and VBScript needed the Set keyword to assign objects to a variable, while before it all seemed rather arbitrary. I wince now when I read books on .NET languages that try to explain Pointers, without using the term Pointer.I wouldn't recommend C as a starting language, but once you can program it is always good to learn what your compiler is doing behind the scenes, or to continue someone else's analogy, once you can drive learn how a car really works.</description><pubDate>Thu, 16 Aug 2012 01:48:47 GMT</pubDate><dc:creator>Alex Gay</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>When I did software engineering at university (2001-2005), we learnt C for networking, SQL for database theory, and Java for concurrency. We also learnt Eiffel and design-by-contract, which was a really interesting contrast to most other languages.(Of course, it wasn't the first time I'd seen C or Java.)It was a good mix.But all I use today in my BI role is SQL, and some of the design-by-contract skills I learnt with Eiffel.</description><pubDate>Wed, 15 Aug 2012 18:51:02 GMT</pubDate><dc:creator>Tim Wilson-Brown</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>In the mid 90s I was stuck in a support position and desperate to join the deities (C programmers) on our team.  I threw myself into learning C but fate intervened in form of layoffs before I could get a toe hold in development so I never used it professionally.  But to this day I am grateful for what I learned while studying C.  I think those who first learned DOS had a leg up on those who first experience was Windows and feel the same about C and subsequent languages (I‘m sure the analogy between assembly language and C also applies).  Simply understanding that when you click an icon you are asking the OS for permission to speak to your app gives a leg up on most people currently in IT.But so it goes and goes.  We’re all standing on the shoulders of those who went before us.    Someday developers currently in their 20s will be telling newcomers how they suffered in the early years and are better for it (“We had to use a KEYBOARD!!!” or something to that effect).</description><pubDate>Wed, 15 Aug 2012 14:10:28 GMT</pubDate><dc:creator>jshahan</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>It's been a while, but IIRC Eiffel allows the developer to choose which properties, methods, etc. to inherit from each parent, so there aren't the pitfalls of C++, in particular.  BTW, Eiffel came out ~ 1989.  If Bertrand Meyer (sp) could get multiple inheritance to work 23 years ago, why couldn't they do it in C# or Java?</description><pubDate>Wed, 15 Aug 2012 13:14:49 GMT</pubDate><dc:creator>Mike Austin-398977</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>I started using C along with Pascal at college in my youth. I think it's a great language very powerful (you can use assembly directly within C). I think it's more important though to teach the concepts of software development and the life cycle, the chosen languages will follow later.C does have uses where it's very specific and where it excels a lot more. Unless you aim to be an IPhone developer, an Xbox games developer or spend your career writing device drivers you probably won't ever use it.</description><pubDate>Wed, 15 Aug 2012 12:41:22 GMT</pubDate><dc:creator>Perry Whittle</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>[quote][b]Mike Austin-398977 (8/15/2012)[/b][hr]By your reasoning, all of us should be required to take a course in transmission repair before we're allowed to drive a car.  IMHO, the legacy the C/C++ is still hamstringing our technology.  I still get BSODs in Windows 7 enterprise!  I'm no expert on programming languages, although I've programmed in more than a dozen, including C.  Based on what I've seen, I wish Eiffel had gained more of a following than it has.  When last I looked into it, it was a pure O-O language that embraced multiple inheritance (takes away the need for those kludgy interface contructs in Java/C#/Object Pascal, etc.) and generated C code behind the scenes so it's really fast.  That's what a good language should do - let you work on the business problem without having to worry about the internals.[/quote]Multiple inheritence has its own sins to answer for. Python does it too, and when I created a system in Python I had to be extremely careful not to hybridize the class hierarchy.I ended up using classes and "services" (basically classes that never have descendents and include no functions found in classes). It was still kind of hairy.Interface contracts give you the benefits of multiple inheritence without the quagmire of hybridization, so I'm all for them. :)Basically, multiple inheritence = global variables, interface contracts = local variables (at least from an inheritence standpoint).</description><pubDate>Wed, 15 Aug 2012 12:26:58 GMT</pubDate><dc:creator>roger.plowman</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>In my experience the 'adult-oriented' degree programs (not to be confused with ITT, Strayer, DeVry, etc.) required C++, Java, and SQL entry classes for MIS-type degrees early in the 2000s, and likely still do today.  Your premise is not without its practical devotees, Steve...</description><pubDate>Wed, 15 Aug 2012 12:20:22 GMT</pubDate><dc:creator>GWAk</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>[quote][b]GSquared (8/15/2012)[/b][hr][quote][b]Mike Austin-398977 (8/15/2012)[/b][hr]By your reasoning, all of us should be required to take a course in transmission repair before we're allowed to drive a car.  IMHO, the legacy the C/C++ is still hamstringing our technology.  I still get BSODs in Windows 7 enterprise!  I'm no expert on programming languages, although I've programmed in more than a dozen, including C.  Based on what I've seen, I wish Eiffel had gained more of a following than it has.  When last I looked into it, it was a pure O-O language that embraced multiple inheritance (takes away the need for those kludgy interface contructs in Java/C#/Object Pascal, etc.) and generated C code behind the scenes so it's really fast.  That's what a good language should do - let you work on the business problem without having to worry about the internals.[/quote]Does it allow you to move to the internals and customize them if you want/need to?[/quote]Would you like to support such a thing? Imagine trying to provide support for a "black box" that a customer has fooled with. It would suck to the bone. Now, to be fair, I've seen plenty of things that "generate code" and do it poorly but that is an issue you take up with the provider or find a better package.</description><pubDate>Wed, 15 Aug 2012 12:19:09 GMT</pubDate><dc:creator>jfogel</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>[quote][b]Mike Austin-398977 (8/15/2012)[/b][hr]By your reasoning, all of us should be required to take a course in transmission repair before we're allowed to drive a car.  IMHO, the legacy the C/C++ is still hamstringing our technology.  I still get BSODs in Windows 7 enterprise!  I'm no expert on programming languages, although I've programmed in more than a dozen, including C.  Based on what I've seen, I wish Eiffel had gained more of a following than it has.  When last I looked into it, it was a pure O-O language that embraced multiple inheritance (takes away the need for those kludgy interface contructs in Java/C#/Object Pascal, etc.) and generated C code behind the scenes so it's really fast.  That's what a good language should do - let you work on the business problem without having to worry about the internals.[/quote]Does it allow you to move to the internals and customize them if you want/need to?</description><pubDate>Wed, 15 Aug 2012 11:56:49 GMT</pubDate><dc:creator>GSquared</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>By your reasoning, all of us should be required to take a course in transmission repair before we're allowed to drive a car.  IMHO, the legacy the C/C++ is still hamstringing our technology.  I still get BSODs in Windows 7 enterprise!  I'm no expert on programming languages, although I've programmed in more than a dozen, including C.  Based on what I've seen, I wish Eiffel had gained more of a following than it has.  When last I looked into it, it was a pure O-O language that embraced multiple inheritance (takes away the need for those kludgy interface contructs in Java/C#/Object Pascal, etc.) and generated C code behind the scenes so it's really fast.  That's what a good language should do - let you work on the business problem without having to worry about the internals.</description><pubDate>Wed, 15 Aug 2012 11:24:32 GMT</pubDate><dc:creator>Mike Austin-398977</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>I messed with C years ago and if I were an expert in it today or even just knowledgeable I would absolutely not be any better off. No thanks.</description><pubDate>Wed, 15 Aug 2012 10:48:15 GMT</pubDate><dc:creator>jfogel</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>I have had c# training, but never had the opportunity to put it to use.  Starting in high school I learned BASIC, COBOL, ALGOL, Focal, FORTRAN.  Moving on to college I learned Pascal, Modula-2, Ada, VAX and PDP-11 Assembler, and more COBOL.  In the real world, the only language I used directly that I learned in school was COBOL.  Learned and used several reporting tools, scripted several Spreadsheet applications, and did a lot of command line scripting for several OS's.Is learning C necessary, I don't thnik so.  Learning to convert algorithms into working code, yes.Learning to write well performing code, that comes with experience and mentoring.  Not really sure that can be taught in school.</description><pubDate>Wed, 15 Aug 2012 10:47:00 GMT</pubDate><dc:creator>Lynn Pettis</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>Took C in college, spent 15+ years programming in it, much better programmer for it. I have seen many SQL only programmers create code that is unstructured and hence hard to maintain. Not saying you can't be good SQL only, but perhaps it is you do not know what you do not know.</description><pubDate>Wed, 15 Aug 2012 10:34:51 GMT</pubDate><dc:creator>Tobar</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>[quote][b]GSquared (8/15/2012)[/b][hr]...Make everyone learn Malboge ([url]http://en.wikipedia.org/wiki/Malbolge[/url])...[/quote]Ouch!  Why did I click that link?  Why?Personally I fall in the anti-C group.  I did take a C class in college, but most of the classes were in pascal variants.  C variants always felt like a way to force everything into a function even if it's unnatural.  Programing languages are supposed to be for people to understand, but C requires the people to think like a machine to understand them.</description><pubDate>Wed, 15 Aug 2012 10:29:28 GMT</pubDate><dc:creator>Chris Harshman</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>[quote][b]Eric M Russell (8/15/2012)[/b][hr]If I had to teach all college graduates one language, it would be SQL. It's more practical than C. Most all developers these days write at least some SQL, and most do it badly.[\quote] I'd agree here if you are querying data. Maybe everyone should have that.[quote]If you teach them C, they'll spend weeks learning how print "Hello World" on a console, will never use it, and will forget everything three months.[/quote]I disagree. The basic concepts of programming will stick with them, even if they don't use them directly. All the stuff I saw in C still exists in C#, Java, Python, etc.</description><pubDate>Wed, 15 Aug 2012 10:26:39 GMT</pubDate><dc:creator>Steve Jones - SSC Editor</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>[quote][b]Question Guy (8/15/2012)[/b][hr]I'll be honest.  I took C.  It wasn't very useful.  I program in .NET and SQL so much different than C, that there really wasn't any carry over whatsoever.[/quote]I bet that's not true. I suspect you don't see the fundamentals that you take from C and move into more practical languages.</description><pubDate>Wed, 15 Aug 2012 10:25:18 GMT</pubDate><dc:creator>Steve Jones - SSC Editor</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>[quote][b]Eric M Russell (8/15/2012)[/b][hr]If I had to teach all college graduates one language, it would be SQL. It's more practical than C. Most all developers these days write at least some SQL, and most do it badly. If we teach non-programmers, folks like salespeople, managers, or scientists how to write their own queries against a database, without handing off their requests to IT, they can immediately start benefitting from that knowledge. It's empowering.  If you teach them C, they'll spend weeks learning how print "Hello World" on a console, will never use it, and will forget everything three months.[/quote]Can we also teach them how to request information from IT?  If the average consumer provided the basics like a URL (isn't everything served via http?), what they have, and what they want (deltas from what they have) - we might be able to start providing solutions right away.  Mostly now we have a session of 20 questions to qualify that they have no idea what they are asking for.Coding "to the hardware" in a cloud makes no sense.  I'm not sure we should want our customers writing queries/code.  However, I agree that having some appreciation for process would make everybody more effective &amp; efficient at work.  Not sure how you teach that to those who don't already possess the skill.</description><pubDate>Wed, 15 Aug 2012 10:21:53 GMT</pubDate><dc:creator>Mike Dougherty-384281</dc:creator></item><item><title>RE: Learning C</title><link>http://www.sqlservercentral.com/Forums/Topic1345140-263-1.aspx</link><description>[quote][b]Eric M Russell (8/15/2012)[/b][hr] If you teach them C, they'll spend weeks learning how print "Hello World" on a console, will never use it, and will forget everything three months.[/quote]My point exactly. :-D</description><pubDate>Wed, 15 Aug 2012 09:47:58 GMT</pubDate><dc:creator>TravisDBA</dc:creator></item></channel></rss>