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. First language

First language

Scheduled Pinned Locked Moved The Lounge
question
146 Posts 88 Posters 34 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.
  • C Colin Mullikin

    Matthew Faithfull wrote:

    There's not too many MIPS assembly programmers out there.

    I learned it in college and while they were teaching it to us they told us, "You will never use this ever again." :doh:

    The United States invariably does the right thing, after having exhausted every other alternative. -Winston Churchill America is the only country that went from barbarism to decadence without civilization in between. -Oscar Wilde Wow, even the French showed a little more spine than that before they got their sh*t pushed in.[^] -Colin Mullikin

    M Offline
    M Offline
    Matthew Faithfull
    wrote on last edited by
    #45

    At least they were honest, my M68000 assembly lecturer swore that we weren't wasting our time :rolleyes:

    "The secret of happiness is freedom, and the secret of freedom, courage." Thucydides (B.C. 460-400)

    1 Reply Last reply
    0
    • M Matthew Faithfull

      :laugh: You'll have to wait for the article to find out. As with all good OO code the classes do all of it. There's a low level and a high level assembler, full FPU and MMX support up to SSE4.2. ~24 KLOC. It's all based on AsmJit with the coolest part I've added being JIT functors. I just love calling a function that doesn't exist when I call it and have it work :-D

      "The secret of happiness is freedom, and the secret of freedom, courage." Thucydides (B.C. 460-400)

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

      Are you planning to add AVX2 at some point?

      M 2 Replies Last reply
      0
      • L Lost User

        Are you planning to add AVX2 at some point?

        M Offline
        M Offline
        Matthew Faithfull
        wrote on last edited by
        #47

        Clearly that would be after adding AVX but yes it can be added easily enough if I can get hold of the necessary information, register details, opcodes, instructions and any usage rules. It should be a few days work if it doesn't introduce a new register type, quite a few days if it does. The only problem I can forsee might be the lack of a 128bit numeric type in C++ if as I assume AVX has gone to 128bit SIMD or larger. However that can be worked around. ... Looking a bit deeper the new wider 256 bit registers won't be an issue because were already handling 128 bits for XMM although the YMM type will take a few days to work through all the cases but the new VEX coding scheme might require some non trivial code changes. Hmm more to add to the TODO: section of the article and it isn't even submitted yet.

        "The secret of happiness is freedom, and the secret of freedom, courage." Thucydides (B.C. 460-400)

        L 1 Reply Last reply
        0
        • M Matthew Faithfull

          Clearly that would be after adding AVX but yes it can be added easily enough if I can get hold of the necessary information, register details, opcodes, instructions and any usage rules. It should be a few days work if it doesn't introduce a new register type, quite a few days if it does. The only problem I can forsee might be the lack of a 128bit numeric type in C++ if as I assume AVX has gone to 128bit SIMD or larger. However that can be worked around. ... Looking a bit deeper the new wider 256 bit registers won't be an issue because were already handling 128 bits for XMM although the YMM type will take a few days to work through all the cases but the new VEX coding scheme might require some non trivial code changes. Hmm more to add to the TODO: section of the article and it isn't even submitted yet.

          "The secret of happiness is freedom, and the secret of freedom, courage." Thucydides (B.C. 460-400)

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

          AVX adds 256bit YMM registers (their lower halves are aliased to the XMM registers), but the same data types as before. It's a lot as though you're working with two XMM registers at once (and the instructions that "cross" the boundary between the two halves are all a little slow so far). They also use the new VEX prefix[^] (which are LES and LDS with carefully selected operand bits to invert so that they're invalid LES and LDS in 32bit mode) instead of the usual prefixes and you get an extra operand, so the encoding is pretty different and it's probably not trivial to add.

          1 Reply Last reply
          0
          • L Lost User

            Are you planning to add AVX2 at some point?

            M Offline
            M Offline
            Matthew Faithfull
            wrote on last edited by
            #49

            Was replying and your latest disappeared so I lost permission to post :wtf: Anyway: Was just looking into the same and modified my previous post. I think the VEX prefix business will cause the most problems. I'm not really the man for the job either as I am no assembly expert and I don't have a Haswell to test it on. If I get a chance I'll suggest AVX support to Petr and see what he reckons or you could sign up to the AsmJit Google group [^] and suggest it yourself. Are you making use of Haswell/AVX2 for anything or just interested in the bleeding edge?

            "The secret of happiness is freedom, and the secret of freedom, courage." Thucydides (B.C. 460-400)

            L 1 Reply Last reply
            0
            • T Tim Carmichael

              Without starting a flame war or bashing session... What is the first language you learned: verbal and coding Do you still use either on a regular basis? Why or why not? Canadian English and Commodore BASIC Living in the Southern U.S., I still speak English, but, admittedly, it has been... adjusted to use local terms (Y'all, All y'all, you'n's). I still use BASIC variants (VBA mostly in Excel or third party applications), but haven't used any Commodore products since about the late '90s.

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

              English and Commodore BASIC. First language professionally was Progress.

              “I believe that there is an equality to all humanity. We all suck.” Bill Hicks

              1 Reply Last reply
              0
              • D Dr Walt Fair PE

                I learned German (my mother was German) and English pretty much at the same time as a tyke. My first computer program was written in IBM 1620 assembly language. Now I speak mostly English and Spanish (my wife is Bolivian) and haven't seen an IBM 1620 in a long, long time!

                CQ de W5ALT

                Walt Fair, Jr., P. E. Comport Computing Specializing in Technical Engineering Software

                V Offline
                V Offline
                Vivi Chellappa
                wrote on last edited by
                #51

                Tamil and Fortran II on an IBM 1620!

                1 Reply Last reply
                0
                • L Lost User

                  English and Hindi in equal measure. LEO III assembler and Intercode (some years later).

                  Use the best guess

                  V Offline
                  V Offline
                  Vivi Chellappa
                  wrote on last edited by
                  #52

                  Hindi? You must have been born in India or in Bradford! :laugh:

                  L 1 Reply Last reply
                  0
                  • M Marc Clifton

                    thatraja wrote:

                    English & HTML

                    HTML isn't a language. It's an abomination. ;) Marc

                    Unit Testing Succinctly

                    H Offline
                    H Offline
                    H Brydon
                    wrote on last edited by
                    #53

                    Marc Clifton wrote:

                    HTML isn't a language.

                    "HTML" is an acronym. The "L" in "HTML" stands for "Language", as in "HyperText Markup Language"...

                    -- Harvey

                    M 1 Reply Last reply
                    0
                    • M Matthew Faithfull

                      Was replying and your latest disappeared so I lost permission to post :wtf: Anyway: Was just looking into the same and modified my previous post. I think the VEX prefix business will cause the most problems. I'm not really the man for the job either as I am no assembly expert and I don't have a Haswell to test it on. If I get a chance I'll suggest AVX support to Petr and see what he reckons or you could sign up to the AsmJit Google group [^] and suggest it yourself. Are you making use of Haswell/AVX2 for anything or just interested in the bleeding edge?

                      "The secret of happiness is freedom, and the secret of freedom, courage." Thucydides (B.C. 460-400)

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

                      You modified your post so mine became pointless.. Well, I have a Haswell and I'm an assembly expert(I guess?), so maybe I could do something there :) I'm using AVX2 in VLC (working on sound format converters), that's just regular pre-assembled assembly though.

                      M 2 Replies Last reply
                      0
                      • D Dr Walt Fair PE

                        I learned German (my mother was German) and English pretty much at the same time as a tyke. My first computer program was written in IBM 1620 assembly language. Now I speak mostly English and Spanish (my wife is Bolivian) and haven't seen an IBM 1620 in a long, long time!

                        CQ de W5ALT

                        Walt Fair, Jr., P. E. Comport Computing Specializing in Technical Engineering Software

                        H Offline
                        H Offline
                        H Brydon
                        wrote on last edited by
                        #55

                        Walt Fair, Jr. wrote:

                        IBM 1620 assembly language

                        Its real name was "SPS", later "SPS-II" and "SPS-IID". Long form of the name was "Symbolic Programming System". ... and a 4900796 to you too.

                        -- Harvey

                        1 Reply Last reply
                        0
                        • V Vivi Chellappa

                          Hindi? You must have been born in India or in Bradford! :laugh:

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

                          A small hill station[^], at least it was back then.

                          Use the best guess

                          1 Reply Last reply
                          0
                          • L Lost User

                            You modified your post so mine became pointless.. Well, I have a Haswell and I'm an assembly expert(I guess?), so maybe I could do something there :) I'm using AVX2 in VLC (working on sound format converters), that's just regular pre-assembled assembly though.

                            M Offline
                            M Offline
                            Matthew Faithfull
                            wrote on last edited by
                            #57

                            You sound like the right man with the right tools. I'll let you know as soon as the article goes up and hopefully the source will be up on SourceForge by then as well. You're more than welcome to chip in, branch, rewrite in Haskell etc. :)

                            "The secret of happiness is freedom, and the secret of freedom, courage." Thucydides (B.C. 460-400)

                            1 Reply Last reply
                            0
                            • T Tim Carmichael

                              Without starting a flame war or bashing session... What is the first language you learned: verbal and coding Do you still use either on a regular basis? Why or why not? Canadian English and Commodore BASIC Living in the Southern U.S., I still speak English, but, admittedly, it has been... adjusted to use local terms (Y'all, All y'all, you'n's). I still use BASIC variants (VBA mostly in Excel or third party applications), but haven't used any Commodore products since about the late '90s.

                              C Offline
                              C Offline
                              Clifford Nelson
                              wrote on last edited by
                              #58

                              Fortran IV and Basic/English

                              1 Reply Last reply
                              0
                              • H H Brydon

                                Marc Clifton wrote:

                                HTML isn't a language.

                                "HTML" is an acronym. The "L" in "HTML" stands for "Language", as in "HyperText Markup Language"...

                                -- Harvey

                                M Offline
                                M Offline
                                Mark_Wallace
                                wrote on last edited by
                                #59

                                H.Brydon wrote:

                                The "L" in "HTML" stands for "Language", as in "HyperText Markup Language"

                                As opposed to "HTPL" for "HyperText Programming Language", presumably.

                                I wanna be a eunuchs developer! Pass me a bread knife!

                                H 1 Reply Last reply
                                0
                                • T Tim Carmichael

                                  Without starting a flame war or bashing session... What is the first language you learned: verbal and coding Do you still use either on a regular basis? Why or why not? Canadian English and Commodore BASIC Living in the Southern U.S., I still speak English, but, admittedly, it has been... adjusted to use local terms (Y'all, All y'all, you'n's). I still use BASIC variants (VBA mostly in Excel or third party applications), but haven't used any Commodore products since about the late '90s.

                                  P Offline
                                  P Offline
                                  Pedro H Fialho
                                  wrote on last edited by
                                  #60

                                  Brazilian Portuguese and mIRCScript (yes, I used to be a script kiddie ;P). Obviously nobody builds LOB apps on top of mIRC, so nowadays my main programming language is SQL/T-SQL.

                                  1 Reply Last reply
                                  0
                                  • T Tim Carmichael

                                    Without starting a flame war or bashing session... What is the first language you learned: verbal and coding Do you still use either on a regular basis? Why or why not? Canadian English and Commodore BASIC Living in the Southern U.S., I still speak English, but, admittedly, it has been... adjusted to use local terms (Y'all, All y'all, you'n's). I still use BASIC variants (VBA mostly in Excel or third party applications), but haven't used any Commodore products since about the late '90s.

                                    R Offline
                                    R Offline
                                    Roger Wright
                                    wrote on last edited by
                                    #61

                                    Proper English and FORTRAN II. I have little use for either anymore since both appear to be obsolete in the US.

                                    Will Rogers never met me.

                                    1 Reply Last reply
                                    0
                                    • M Matthew Faithfull

                                      Just to prove Eric right. English and Sinclair BASIC. I've used at least 9 different variants of BASIC over the years but I haven't touched it for a few now. I made the switch to Borland Turbo C++ 0.99 ( The almost perfect version :laugh: ) in 95 and never looked back.

                                      "The secret of happiness is freedom, and the secret of freedom, courage." Thucydides (B.C. 460-400)

                                      M Offline
                                      M Offline
                                      Mycroft Holmes
                                      wrote on last edited by
                                      #62

                                      What an odd path, I had the same sort of decision around 95 as well, ended up with VB after spending 6 months building an app in turbo pascal that had so many memory leaks it blew a brand new 386 away. Just showed my lack of training I guess. Now it is c# and I really don't want to have to change again!

                                      Never underestimate the power of human stupidity RAH

                                      M 1 Reply Last reply
                                      0
                                      • A Andrew Rissing

                                        Έτσι, αυτό είναι ελληνικά σε σας; [So, is this Greek to you?]

                                        M Offline
                                        M Offline
                                        MacSpudster
                                        wrote on last edited by
                                        #63

                                        Ναι, είναι ελληνικό για μένα, αλλά δεν είναι "ελληνικό" για μένα. However: Graecum est; legitur. [Yes, it is Greek to me, though it is not "greek" to me.] :-D Fun read! http://en.wikipedia.org/wiki/Greek_to_me[^] Of course, the end of it all: Αυτά μου φαίνονται αλαμπουρνέζικα.

                                        1 Reply Last reply
                                        0
                                        • M Mycroft Holmes

                                          What an odd path, I had the same sort of decision around 95 as well, ended up with VB after spending 6 months building an app in turbo pascal that had so many memory leaks it blew a brand new 386 away. Just showed my lack of training I guess. Now it is c# and I really don't want to have to change again!

                                          Never underestimate the power of human stupidity RAH

                                          M Offline
                                          M Offline
                                          Matthew Faithfull
                                          wrote on last edited by
                                          #64

                                          It seems odd from the outside but it didn't to me at the time. Not only was the DOS based IDE for Turbo C++ really very similar to the DOS based IDE for QBasic which I'd graduated to but C++ gave me many of the things I was looking for in BASIC and not finding. The ability to write larger programs, dynamic memory allocation, serializing, objects with constructors and private functions, loadable modules. I was already trying to do these things either by simulation or convention so C++ made my life easier rather than harder. Reuse by inheritance was the clincher, not having to create another UDT with all the same stuff as the last one :thumbsup: I guess if I'd had access to VB at that point that's the way I would have gone as it did eventually provide many of those things. I did pick up VB5 and 6 later on and even ported some of my QBasic code but I found it curiously unsatisfying and then again VB6 for a bit of commercial work when it was the only practical way to use DCOM but I handed that project off pretty quickly and the next guy pretty much rewrote it. I guess once you've moved on there's no going back and that's probably a good thing. Having said that I did 3 months of C# last year and am quite happy going back to C++, the C# was fun but it reminded me of the plasticy feel of VB somehow.

                                          "The secret of happiness is freedom, and the secret of freedom, courage." Thucydides (B.C. 460-400)

                                          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