Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. A question about programming

A question about programming

Scheduled Pinned Locked Moved The Lounge
questioncsharplinqdesignlearning
19 Posts 14 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Offline
    L Offline
    Lost User
    wrote on last edited by
    #1

    No, not a programming question, it's a question (observation) about programming. Noticed so many newbies within hours of deciding to "learn c#" are out on the board asking "how do I do X in linq." Why is that? Deciding to learn C# is useful, be it a first or second programming language and one can map a lot of that same skill onto other languages, even auto convert it. But they want to jump straight into linq which is too unique, doesn't convert well, doesn't map well, and if overused [at the expense of fully learning c#] can even limit application design choices. Perhaps authors of c# books/tutorials should highlight the fact that although linq is useful: it probably should be learned later, after one has some mastery of c#, it should be used [as intended] to supplement c#, not replace it, just because one line of linq can replace a few lines of c#, that doesn't always make it better, faster or smarter and can even reduce maintainability.

    Signature ready for installation. Please Reboot now.

    L P raddevusR M D 11 Replies Last reply
    0
    • L Lost User

      No, not a programming question, it's a question (observation) about programming. Noticed so many newbies within hours of deciding to "learn c#" are out on the board asking "how do I do X in linq." Why is that? Deciding to learn C# is useful, be it a first or second programming language and one can map a lot of that same skill onto other languages, even auto convert it. But they want to jump straight into linq which is too unique, doesn't convert well, doesn't map well, and if overused [at the expense of fully learning c#] can even limit application design choices. Perhaps authors of c# books/tutorials should highlight the fact that although linq is useful: it probably should be learned later, after one has some mastery of c#, it should be used [as intended] to supplement c#, not replace it, just because one line of linq can replace a few lines of c#, that doesn't always make it better, faster or smarter and can even reduce maintainability.

      Signature ready for installation. Please Reboot now.

      L Offline
      L Offline
      Lost User
      wrote on last edited by
      #2

      Quote:

      "My friend told me I should use LINQ."

      1 Reply Last reply
      0
      • L Lost User

        No, not a programming question, it's a question (observation) about programming. Noticed so many newbies within hours of deciding to "learn c#" are out on the board asking "how do I do X in linq." Why is that? Deciding to learn C# is useful, be it a first or second programming language and one can map a lot of that same skill onto other languages, even auto convert it. But they want to jump straight into linq which is too unique, doesn't convert well, doesn't map well, and if overused [at the expense of fully learning c#] can even limit application design choices. Perhaps authors of c# books/tutorials should highlight the fact that although linq is useful: it probably should be learned later, after one has some mastery of c#, it should be used [as intended] to supplement c#, not replace it, just because one line of linq can replace a few lines of c#, that doesn't always make it better, faster or smarter and can even reduce maintainability.

        Signature ready for installation. Please Reboot now.

        P Online
        P Online
        PIEBALDconsult
        wrote on last edited by
        #3

        I agree. That's why beginners need to learn the basics of how to think like a computer on a simple teaching language first.

        J L U 3 Replies Last reply
        0
        • L Lost User

          No, not a programming question, it's a question (observation) about programming. Noticed so many newbies within hours of deciding to "learn c#" are out on the board asking "how do I do X in linq." Why is that? Deciding to learn C# is useful, be it a first or second programming language and one can map a lot of that same skill onto other languages, even auto convert it. But they want to jump straight into linq which is too unique, doesn't convert well, doesn't map well, and if overused [at the expense of fully learning c#] can even limit application design choices. Perhaps authors of c# books/tutorials should highlight the fact that although linq is useful: it probably should be learned later, after one has some mastery of c#, it should be used [as intended] to supplement c#, not replace it, just because one line of linq can replace a few lines of c#, that doesn't always make it better, faster or smarter and can even reduce maintainability.

          Signature ready for installation. Please Reboot now.

          raddevusR Offline
          raddevusR Offline
          raddevus
          wrote on last edited by
          #4

          A very astute observation and summary of the problem.:thumbsup: I agree 100%. Get strong in the foundations and then later you can learn the syntactic sugar of the different languages.

          1 Reply Last reply
          0
          • P PIEBALDconsult

            I agree. That's why beginners need to learn the basics of how to think like a computer on a simple teaching language first.

            J Offline
            J Offline
            Johnny J
            wrote on last edited by
            #5

            PIEBALDconsult wrote:

            a simple teaching language first.

            So you recommend VB in other words? ;P

            Anything that is unrelated to elephants is irrelephant
            Anonymous
            -----
            The problem with quotes on the internet is that you can never tell if they're genuine
            Winston Churchill, 1944
            -----
            I'd just like a chance to prove that money can't make me happy.
            Me, all the time

            L 1 Reply Last reply
            0
            • L Lost User

              No, not a programming question, it's a question (observation) about programming. Noticed so many newbies within hours of deciding to "learn c#" are out on the board asking "how do I do X in linq." Why is that? Deciding to learn C# is useful, be it a first or second programming language and one can map a lot of that same skill onto other languages, even auto convert it. But they want to jump straight into linq which is too unique, doesn't convert well, doesn't map well, and if overused [at the expense of fully learning c#] can even limit application design choices. Perhaps authors of c# books/tutorials should highlight the fact that although linq is useful: it probably should be learned later, after one has some mastery of c#, it should be used [as intended] to supplement c#, not replace it, just because one line of linq can replace a few lines of c#, that doesn't always make it better, faster or smarter and can even reduce maintainability.

              Signature ready for installation. Please Reboot now.

              M Offline
              M Offline
              megaadam
              wrote on last edited by
              #6

              Why is it? I think it is very much a matter fashion (I hesitate to use the word hype). Is it bad? Well if X already knows a language or two I don't think it that bad. linq is a part of the C# ecosystem. The declarative parts WPF, WCF are other HUGE parts (I've seen mind-boggling stuff done in WPF). If you already grok programming, curiosity about those extensions is not necessarily that bad I think.

              ... such stuff as dreams are made on

              1 Reply Last reply
              0
              • J Johnny J

                PIEBALDconsult wrote:

                a simple teaching language first.

                So you recommend VB in other words? ;P

                Anything that is unrelated to elephants is irrelephant
                Anonymous
                -----
                The problem with quotes on the internet is that you can never tell if they're genuine
                Winston Churchill, 1944
                -----
                I'd just like a chance to prove that money can't make me happy.
                Me, all the time

                L Offline
                L Offline
                Lost User
                wrote on last edited by
                #7

                I think they should learn GWBasic or BasicA first, then spend the next 10 years learning assembler, c, c++, Pascal, Fortran, Cobol. Maybe then they can ask a proper question in Q&A rather than "CODZ PLZ".

                When you are dead, you won't even know that you are dead. It's a pain only felt by others. Same thing when you are stupid.

                J N 2 Replies Last reply
                0
                • L Lost User

                  No, not a programming question, it's a question (observation) about programming. Noticed so many newbies within hours of deciding to "learn c#" are out on the board asking "how do I do X in linq." Why is that? Deciding to learn C# is useful, be it a first or second programming language and one can map a lot of that same skill onto other languages, even auto convert it. But they want to jump straight into linq which is too unique, doesn't convert well, doesn't map well, and if overused [at the expense of fully learning c#] can even limit application design choices. Perhaps authors of c# books/tutorials should highlight the fact that although linq is useful: it probably should be learned later, after one has some mastery of c#, it should be used [as intended] to supplement c#, not replace it, just because one line of linq can replace a few lines of c#, that doesn't always make it better, faster or smarter and can even reduce maintainability.

                  Signature ready for installation. Please Reboot now.

                  D Offline
                  D Offline
                  Duncan Edwards Jones
                  wrote on last edited by
                  #8

                  Like SQL, LINQ is an intention revealing/implementation hiding mechanism and as such has a valuable role to play in making C# development better. However there is still a need to know how to do the implementation as you will need to use that when it comes down to it.

                  1 Reply Last reply
                  0
                  • L Lost User

                    No, not a programming question, it's a question (observation) about programming. Noticed so many newbies within hours of deciding to "learn c#" are out on the board asking "how do I do X in linq." Why is that? Deciding to learn C# is useful, be it a first or second programming language and one can map a lot of that same skill onto other languages, even auto convert it. But they want to jump straight into linq which is too unique, doesn't convert well, doesn't map well, and if overused [at the expense of fully learning c#] can even limit application design choices. Perhaps authors of c# books/tutorials should highlight the fact that although linq is useful: it probably should be learned later, after one has some mastery of c#, it should be used [as intended] to supplement c#, not replace it, just because one line of linq can replace a few lines of c#, that doesn't always make it better, faster or smarter and can even reduce maintainability.

                    Signature ready for installation. Please Reboot now.

                    P Offline
                    P Offline
                    PeejayAdams
                    wrote on last edited by
                    #9

                    It's human nature to want to run before you can walk. Is that a bad thing? Not if it's the desire to run that makes you learn to walk but you still have to learn the two in the right order. LINQ is definitely for one of the later chapters of the tutorial.

                    98.4% of statistics are made up on the spot.

                    1 Reply Last reply
                    0
                    • L Lost User

                      No, not a programming question, it's a question (observation) about programming. Noticed so many newbies within hours of deciding to "learn c#" are out on the board asking "how do I do X in linq." Why is that? Deciding to learn C# is useful, be it a first or second programming language and one can map a lot of that same skill onto other languages, even auto convert it. But they want to jump straight into linq which is too unique, doesn't convert well, doesn't map well, and if overused [at the expense of fully learning c#] can even limit application design choices. Perhaps authors of c# books/tutorials should highlight the fact that although linq is useful: it probably should be learned later, after one has some mastery of c#, it should be used [as intended] to supplement c#, not replace it, just because one line of linq can replace a few lines of c#, that doesn't always make it better, faster or smarter and can even reduce maintainability.

                      Signature ready for installation. Please Reboot now.

                      abmvA Offline
                      abmvA Offline
                      abmv
                      wrote on last edited by
                      #10

                      how do I do that in VB6 ?

                      Caveat Emptor. "Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long

                      We are in the beginning of a mass extinction. - Greta Thunberg

                      1 Reply Last reply
                      0
                      • L Lost User

                        No, not a programming question, it's a question (observation) about programming. Noticed so many newbies within hours of deciding to "learn c#" are out on the board asking "how do I do X in linq." Why is that? Deciding to learn C# is useful, be it a first or second programming language and one can map a lot of that same skill onto other languages, even auto convert it. But they want to jump straight into linq which is too unique, doesn't convert well, doesn't map well, and if overused [at the expense of fully learning c#] can even limit application design choices. Perhaps authors of c# books/tutorials should highlight the fact that although linq is useful: it probably should be learned later, after one has some mastery of c#, it should be used [as intended] to supplement c#, not replace it, just because one line of linq can replace a few lines of c#, that doesn't always make it better, faster or smarter and can even reduce maintainability.

                        Signature ready for installation. Please Reboot now.

                        B Offline
                        B Offline
                        BillWoodruff
                        wrote on last edited by
                        #11

                        I think when Linq is best introduced/presented will depend on the student/trainee/audience background. Someone with depth SQL scripting and/or other language experience may get into it quickly. For most folks, I think presenting iterative code examples together with Linq examples that do the same thing ... in increasing order of complexity ... is valuable. I observe some students have difficulty with the "deferred evaluation" aspect of Linq. I like to use the metaphor of "creating a map," compared to actually following the map and bringing something back. What's your favorite metaphor/mnemonic ?

                        «While I complain of being able to see only a shadow of the past, I may be insensitive to reality as it is now, since I'm not at a stage of development where I'm capable of seeing it.» Claude Levi-Strauss (Tristes Tropiques, 1955)

                        1 Reply Last reply
                        0
                        • L Lost User

                          No, not a programming question, it's a question (observation) about programming. Noticed so many newbies within hours of deciding to "learn c#" are out on the board asking "how do I do X in linq." Why is that? Deciding to learn C# is useful, be it a first or second programming language and one can map a lot of that same skill onto other languages, even auto convert it. But they want to jump straight into linq which is too unique, doesn't convert well, doesn't map well, and if overused [at the expense of fully learning c#] can even limit application design choices. Perhaps authors of c# books/tutorials should highlight the fact that although linq is useful: it probably should be learned later, after one has some mastery of c#, it should be used [as intended] to supplement c#, not replace it, just because one line of linq can replace a few lines of c#, that doesn't always make it better, faster or smarter and can even reduce maintainability.

                          Signature ready for installation. Please Reboot now.

                          G Offline
                          G Offline
                          GenJerDan
                          wrote on last edited by
                          #12

                          I hate linq. There. I said it. I come across a bit of linq and I haven't got a clue what the heck it's doing. Even if it's code that I wrote. :laugh:

                          We won't sit down. We won't shut up. We won't go quietly away. YouTube, VidMe and My Mu[sic], Films and Windows Programs, etc. and FB

                          1 Reply Last reply
                          0
                          • L Lost User

                            I think they should learn GWBasic or BasicA first, then spend the next 10 years learning assembler, c, c++, Pascal, Fortran, Cobol. Maybe then they can ask a proper question in Q&A rather than "CODZ PLZ".

                            When you are dead, you won't even know that you are dead. It's a pain only felt by others. Same thing when you are stupid.

                            J Offline
                            J Offline
                            Johnny J
                            wrote on last edited by
                            #13

                            That's pretty close to how I did it... Except for the time frame which is more like 30 years :laugh:

                            Anything that is unrelated to elephants is irrelephant
                            Anonymous
                            -----
                            The problem with quotes on the internet is that you can never tell if they're genuine
                            Winston Churchill, 1944
                            -----
                            I'd just like a chance to prove that money can't make me happy.
                            Me, all the time

                            L 1 Reply Last reply
                            0
                            • L Lost User

                              No, not a programming question, it's a question (observation) about programming. Noticed so many newbies within hours of deciding to "learn c#" are out on the board asking "how do I do X in linq." Why is that? Deciding to learn C# is useful, be it a first or second programming language and one can map a lot of that same skill onto other languages, even auto convert it. But they want to jump straight into linq which is too unique, doesn't convert well, doesn't map well, and if overused [at the expense of fully learning c#] can even limit application design choices. Perhaps authors of c# books/tutorials should highlight the fact that although linq is useful: it probably should be learned later, after one has some mastery of c#, it should be used [as intended] to supplement c#, not replace it, just because one line of linq can replace a few lines of c#, that doesn't always make it better, faster or smarter and can even reduce maintainability.

                              Signature ready for installation. Please Reboot now.

                              B Offline
                              B Offline
                              Brady Kelly
                              wrote on last edited by
                              #14

                              Yet LINQ stands for Language Integrated Query, so it is effectively part of the language. LINQ can never replace C# - it isn't a language - and LINQ queries (for said novice) are written in C#. I do, however, agree about learning it later, when one can properly use standard chained method calls vs. the SQL like query format of LINQ. I just think LINQ (especially LINQ to Objects vs. data access) is so terribly cool it's hard to stop oneself from wanting to just dive in. I did, as soon as it arrived, but fortunately I had close on five years C# experience and knew it well.

                              "'Do what thou wilt...' is to bid Stars to shine, Vines to bear grapes, Water to seek its level; man is the only being in Nature that has striven to set himself at odds with himself." —Aleister Crowley

                              1 Reply Last reply
                              0
                              • J Johnny J

                                That's pretty close to how I did it... Except for the time frame which is more like 30 years :laugh:

                                Anything that is unrelated to elephants is irrelephant
                                Anonymous
                                -----
                                The problem with quotes on the internet is that you can never tell if they're genuine
                                Winston Churchill, 1944
                                -----
                                I'd just like a chance to prove that money can't make me happy.
                                Me, all the time

                                L Offline
                                L Offline
                                Lost User
                                wrote on last edited by
                                #15

                                Yup, same here. :-D

                                When you are dead, you won't even know that you are dead. It's a pain only felt by others. Same thing when you are stupid.

                                1 Reply Last reply
                                0
                                • P PIEBALDconsult

                                  I agree. That's why beginners need to learn the basics of how to think like a computer on a simple teaching language first.

                                  L Offline
                                  L Offline
                                  Lost User
                                  wrote on last edited by
                                  #16

                                  Learning C#. Once they get past "Hello, world", it takes a while (if ever) for it to sink in that they need to get familiar with a few hundred .NET "classes" in order to become productive.

                                  "(I) am amazed to see myself here rather than there ... now rather than then". ― Blaise Pascal

                                  1 Reply Last reply
                                  0
                                  • P PIEBALDconsult

                                    I agree. That's why beginners need to learn the basics of how to think like a computer on a simple teaching language first.

                                    U Offline
                                    U Offline
                                    User 11319743
                                    wrote on last edited by
                                    #17

                                    "basics of how to think like a computer" The language that most closely matches "how computers think" is Assembly language and even that is an abstraction to allow us mortals to approximate thinking like a computer without having to program in machine code. Back when computers had console switches & lights on them (to read out registers, and various other things internal to the computer) you could arguably say you could think like a computer if you could use these things fluently. Yes, there were actually people who could stand at the front console and program the darn things. All of the higher level languages are further abstractions of machine code to bring it into a form that we can more easily express our thoughts in.

                                    1 Reply Last reply
                                    0
                                    • L Lost User

                                      I think they should learn GWBasic or BasicA first, then spend the next 10 years learning assembler, c, c++, Pascal, Fortran, Cobol. Maybe then they can ask a proper question in Q&A rather than "CODZ PLZ".

                                      When you are dead, you won't even know that you are dead. It's a pain only felt by others. Same thing when you are stupid.

                                      N Offline
                                      N Offline
                                      nostraozzy
                                      wrote on last edited by
                                      #18

                                      My first exposure to code was Basic on an Apple II. 10?"Hello ... 50 goto 10 Then when I found a C tutorial on a shareware CD, I couldn't figure out why GOTO was all the way in chapter 12! After all, I had no idea what a function was, and had it stuck in my mind that goto was needed for everything... Instead of reading from chapters 1-12, I just searched for Goto, and went from there. :D (Small remote town, no internet at the time, as it wasn't much of a thing outside of universities yet)

                                      1 Reply Last reply
                                      0
                                      • L Lost User

                                        No, not a programming question, it's a question (observation) about programming. Noticed so many newbies within hours of deciding to "learn c#" are out on the board asking "how do I do X in linq." Why is that? Deciding to learn C# is useful, be it a first or second programming language and one can map a lot of that same skill onto other languages, even auto convert it. But they want to jump straight into linq which is too unique, doesn't convert well, doesn't map well, and if overused [at the expense of fully learning c#] can even limit application design choices. Perhaps authors of c# books/tutorials should highlight the fact that although linq is useful: it probably should be learned later, after one has some mastery of c#, it should be used [as intended] to supplement c#, not replace it, just because one line of linq can replace a few lines of c#, that doesn't always make it better, faster or smarter and can even reduce maintainability.

                                        Signature ready for installation. Please Reboot now.

                                        J Offline
                                        J Offline
                                        James Lonero
                                        wrote on last edited by
                                        #19

                                        Linq is a good thought, but make the C# language less readable. If you write code that is difficult to maintain, you are creating more of a problem. Just because you can use the newest cool tool or idea, but your code and design requires more time for someone else to understand it, you are not doing a good job of engineering. Part of being a good engineer is to be sure that someone else can understand the design and code to quickly go on with it. Anything less is something anyone out of high school programmer can do. To become a good engineer, you must know more than just programming (in any language). Design, documentation, system designing, requirements analysis, and asking the right questions to understand what the customer needs. Also, allowing for the next person to quickly be able to pick up the project and continue on.

                                        1 Reply Last reply
                                        0
                                        Reply
                                        • Reply as topic
                                        Log in to reply
                                        • Oldest to Newest
                                        • Newest to Oldest
                                        • Most Votes


                                        • Login

                                        • Don't have an account? Register

                                        • Login or register to search.
                                        • First post
                                          Last post
                                        0
                                        • Categories
                                        • Recent
                                        • Tags
                                        • Popular
                                        • World
                                        • Users
                                        • Groups