Announcement

Collapse
No announcement yet.

OT Online help for coders and programmers

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • OT Online help for coders and programmers

    I've held off for a while before asking this, but with the coming lockdowns I'm going to be doing much more coding, and I want to reduce my periods of "that just isn't working" frustration as far as I can.

    Time was that you could search for advice with coding and programming, using Windows API calls, Dlls, third party dlls, whatever, and get useful advice, sample code and so on.

    More and more this kind of advice is hidden, and all you get is easy to use software that you don't have to think about, but that is about as satisfying as buying some rubbish tool, when you could machining something up. Just like we're most of us crazy enough to machine stuff up because we want to, I code stuff up because i want to.

    But I can spend days going round in circles with my outdated help files, and getting nowhere, and I just can't seem to be able to get any useful stuff online about low-level coding and programming.

    Also, as time goes on, I know fewer contacts who do this - I suspect my current count of contacts is zero.

    I'm sure I'm talking here to a few who dabble in this, and who don't have the opportunity of calling out to an open plan office for advice. Where do you go for this kind of thing. Are there coders' forums ?
    Richard - SW London, UK, EU.

  • #2
    https://stackoverflow.com/ is a good place to start. Even if I just google the issue there's bound to be a least one link on that site.

    Comment


    • #3
      Stack Overflow is a popular one. There's many languages and API's out there to use. It seems you must learn to program at a higher level, saving lower level stuff after you are accomplished. If you truly want to dabble in low level stuff, perhaps programming micro controllers in assembly may give you excitement.
      I really got into programming on Apple products, namely iOS, etc. But at the end of the day I wasn't really programming, I was just a "coder", using Apple's libraries. The real programmers make the libraries, do the low level stuff. The world has given up on getting Joe Schmo into programming, instead all you can find are books on how to use a set of libraries to do what you want. Buy a book on C# if you want to make window programs. Get a book on Python if you want cross compiler, works on everything type programs, get a book on Swift for Apple.
      All of these books however are equal to a machinist book, and the project at the very end is a filler cap for blinker fluid for your "insert obsolete car here"

      Comment


      • #4
        Most of the coding I do now is for Microchip PIC microcontrollers, and I regularly scan their forum, mostly to help newbies with simple problems, sometimes to chuckle to myself at self-inflicted issues, and occasionally to ask for and receive advice from the many experts who are usually much more experienced than I am. I almost always use C, but occasionally assembly.

        Other than that, I have also done a fair bit of application programming for Windows, using an ancient version of Borland Delphi Pro 4, and a free open source alternative called Free Pascal and its IDE, Lazarus. There are forums for both, although I have usually used the usenet newsgroup comp.lang.pascal.delphi.misc. I have also used newsgroups for the occasional coding I have done in PHP and JavaScript. You can access newsgroups using Thunderbird, and a free service such as Eternal September, or various paid services.
        http://pauleschoen.com/pix/PM08_P76_P54.png
        Paul , P S Technology, Inc. and MrTibbs
        USA Maryland 21030

        Comment


        • #5
          Originally posted by RB211 View Post
          Stack Overflow is a popular one. There's many languages and API's out there to use. It seems you must learn to program at a higher level, saving lower level stuff after you are accomplished. If you truly want to dabble in low level stuff, perhaps programming micro controllers in assembly may give you excitement.
          I really got into programming on Apple products, namely iOS, etc. But at the end of the day I wasn't really programming, I was just a "coder", using Apple's libraries. The real programmers make the libraries, do the low level stuff. ............"
          Heh..... My style of programming has always been assembler. Have done a good bit of embedded code for micros. Stuff that had to be squeezed in to a small memory space, and of course there were a lot of features wanted. Don't particularly like higher level languages, but you need to use them for many newer micros, which do not really have released assemblers, they are buried in the HLL, the assembler, linker, etc. unless you really really need to get at them.

          Assembler gets pretty down and dirty on the hardware, right down to stuff like your favorite button debounce algorithm, that you move to each new assembler as micros change or are selected for the product. At least assemblers handle some stuff for you.

          And there is another level, down further, for processors that use "microcode", an "internal language", if you will, that runs the actual operations called by the machine language that comes out of the assembler.

          In some cases of critical timing, etc, you may have to find some codger who knows assembler for your micro. Newer micros may have enough speed that you can wait for interrupts because the critical task is done fast enough that timing is not an issue without resorting to writing code down on the hardware..
          CNC machines only go through the motions.

          Ideas expressed may be mine, or from anyone else in the universe.
          Not responsible for clerical errors. Or those made by lay people either.
          Number formats and units may be chosen at random depending on what day it is.
          I reserve the right to use a number system with any integer base without prior notice.
          Generalizations are understood to be "often" true, but not true in every case.

          Comment


          • #6
            It used to be that there were only a handful of languages. You could immerse yourself in a particular language and OS and become an expert. Once upon a time I was one of those people who was quite proficient in C (low level language) , Shell (high level language) and the Unix OS. I could do assembler code for a couple of processors. I knew the manual pages by heart for both Unix and C, and could discuss the System V kernel design and it's internals. But that was long ago. I have not been at Guru level for the last decade or so.

            Programming languages come and go swiftly now. About the time you master today's hot language/OS it's either out of fashion or the new version is not compatible with last year's version and you have to relearn things again. As a result people learn to rely on libraries, APIs and IDEs to do the hard stuff. So don't get too upset about it. Lately it's all I can do to keep track of the command line interfaces for administering Debian systems (Linux) and coding in BASH .

            In addition to stack overflow there are OS specific sites like XDA Developers which specializes in Android systems.

            Dan
            Last edited by danlb; 03-18-2020, 08:55 PM.
            At the end of the project, there is a profound difference between spare parts and left over parts.

            Location: SF East Bay.

            Comment


            • #7
              Originally posted by danlb View Post
              It used to be that there were only a handful of languages. .....

              Programming languages come and go swiftly now. .....
              Fact.

              And Micros come along and then are obsolete, sometimes in a matter of months. Hardly worth messing with assembler, when you can learn a cross-platform language (C++, and so forth) and fairly easily port your application to a new platform with a few changes to the variable list etc. Maybe some more due to specific extensions or oddities that apply to the compiler for the specific micro.
              CNC machines only go through the motions.

              Ideas expressed may be mine, or from anyone else in the universe.
              Not responsible for clerical errors. Or those made by lay people either.
              Number formats and units may be chosen at random depending on what day it is.
              I reserve the right to use a number system with any integer base without prior notice.
              Generalizations are understood to be "often" true, but not true in every case.

              Comment


              • #8
                There is a Youtube personality named, "The 8bit Guy" who just released a new DOS game he wrote in assembler for Intel CPU's. Certainly not John Carmack level, but still a pretty niche thing to do.

                Comment


                • #9
                  I used to build a robot watering machine using a 6809 processor programmed in assembler by a young guy that worked for me. After 4 years he got hired away by Mcgraw Hill. We turned his program over to the guy building the boards for us. He was impressed, 400,000 lines of well documented and very efficient code! He taught my guy how to evaluate the efficiency of his code by watching the hardware interrupt on an oscilloscope. Most of the code ran in the interrupt routine so if your change caused it to take longer you’d look for faster methods.

                  Comment


                  • #10
                    Originally posted by garyhlucas View Post
                    ........ Most of the code ran in the interrupt routine so if your change caused it to take longer you’d look for faster methods.
                    Yep, that has come over to higher level programming. Most of the code I wrote was a main routine loop and conditionals that went to subroutines. Having the main loop really keeps things focused.

                    Watching the interrupt is a good one. At one point I had a setup with two A/D that watched the program address bus and went to the x and y on a 'scope. You could watch the subs execute and really get a handle on what was or was not working. That went away with external PROMS and EPROMS.

                    Looking at the various interrupts is probably ok as a backup. Having 400k of assembler code is certainly a bunch of work, you want whatever you can get for help.
                    CNC machines only go through the motions.

                    Ideas expressed may be mine, or from anyone else in the universe.
                    Not responsible for clerical errors. Or those made by lay people either.
                    Number formats and units may be chosen at random depending on what day it is.
                    I reserve the right to use a number system with any integer base without prior notice.
                    Generalizations are understood to be "often" true, but not true in every case.

                    Comment


                    • #11
                      If your going to learn something I recommend Qt. Great cross platform framework, free and tons of support out there and the power of c++.
                      https://www.qt.io/blog
                      Cheers,
                      Jon

                      Comment


                      • #12
                        Originally posted by rohart View Post
                        Time was that you could search for advice with coding and programming, using Windows API calls, Dlls, third party dlls, whatever, and get useful advice, sample code and so on.
                        Although most of my programming was (PDP11!), and now is, in Assembly I think the OP is looking at C++ or Visual Basic, (Hardcore Visual Basic by Bruce McKinney).
                        With Microchip and assembly, most routines for the various modules can be stored in a library (*.inc files) which makes it easier to build.
                        Also there is Piclist site which has assembly and C routines.
                        Max.

                        Comment


                        • #13
                          All your replies really appreciated. Maybe I wasn't as clear about my position as I should have been - happens often enough when folk are asking for machining advice, so there goes.

                          By low level - and I did do interrupt level when I wrote int21 watchers in DOS back in the 80's - I meant I'm writing in C, using MS and other libraries, but trying like the devil to avoid what I regard as the dreadful user interfaces offered by MS. I've over 500k lines of code in my two main projects, so I can't be as flexible as I'd like. Rewriting that much at my age is a non starter. But I'm often coming up with problems interpreting the documentation for these libraries that others may have had, and that others will have solved.

                          I can't hack basic, and I've never managed to get a handle on object oriented languages. Anyway, I'm using C, end of, and my limitation in that direction is I can't afford to try out compilers you have to pay for, so I'm limited to 32bit. A migration to Linux is the only port I have considered, but I keep putting it off. I suspect that the documentation would be better than Windows, and that the structure of the programming interface would appear more sensible. I suspect that a lot of the crowd that write the Windows libraries feel stuck in the time warp that results from the basic design coming from back in the mid 90's.

                          But I don't feel my problem lies in that direction. I'm really looking for equivalents to this excellent BBS but in the programming field.

                          I do look at threads in stackoverflow quite often, but the ethos there reminds me of Practical Machinist, where you have to dive for cover from the folk who tell you how you're doing it all wrong, rather than advising you how you could proceed. It's the 'If you're going there, I wouldn't start from here' kind of answers that seem to proliferate.

                          Anyway, thanks for all the replies, and there is certainly some food for thought for me there.
                          Richard - SW London, UK, EU.

                          Comment

                          Working...
                          X