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. Why I don't use python

Why I don't use python

Scheduled Pinned Locked Moved The Lounge
designhelppythoncomgraphics
39 Posts 15 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.
  • M megaadam

    Nice project! It is not within my aforementioned category of Python-suitable challenges ["small quick things"]. Peace.

    "If we don't change direction, we'll end up where we're going"

    H Offline
    H Offline
    honey the codewitch
    wrote on last edited by
    #27

    It's not but for those I have my Program.Base code which makes writing say, a CLI app to wordwrap input files into an output file this easy:

    using System;
    using System.Collections.Generic;
    using System.IO;
    internal partial class Program
    {
    [CmdArg(Ordinal = 0)] // the description and itemname are filled
    static List Inputs = new List() { Console.In };
    [CmdArg(Name = "output")] // the description and itemname are filled
    static TextWriter Output = Console.Out;
    [CmdArg(Name = "width", Description = "The width to wrap. Defaults based on console window size", ItemName = "columns")]
    static int Width = (int)Math.Floor((double)Console.WindowWidth / 1.5);
    [CmdArg(Name = "ifstale", Description = "Skip if the input file is older than the output file")]
    static bool IfStale = false;
    static void Run()
    {
    if (!IfStale || IsStale(Inputs, Output))
    {
    foreach (var input in Inputs)
    {
    // do this because stdin requires it
    string line;
    while((line = input.ReadLine()) != null)
    {
    Output.WriteLine(WordWrap(line, Width));
    }
    }
    } else
    {
    Console.Error.WriteLine("Skipped execution because the inputs did not change");
    }
    }
    }

    That parses arguments, presents a using screen, all of that mess. This is how i do "quick things."

    Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

    1 Reply Last reply
    0
    • H honey the codewitch

      It makes me feel like a crotchety old English teacher.

      def receive_message(self, client, client_address)

      Yields "'function' object has no attribute 'receive_message' And my first thought does not go to the code, but to the inanity of the error message. 1. Attributes are metadata. A function doesn't have attributes unless it's marked up. it has a signature, access modifies and storage class indicators. 2. Functions are not "objects". Functions are functions. A function as an object is called a "functor" 3. Am I really fisking a python error message right now? And by then I've completely given up on the issue.

      Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

      S Offline
      S Offline
      StarNamer work
      wrote on last edited by
      #28

      Because the author of the Open Source program I want to modify chose to write it in Python!

      1 Reply Last reply
      0
      • H honey the codewitch

        It makes me feel like a crotchety old English teacher.

        def receive_message(self, client, client_address)

        Yields "'function' object has no attribute 'receive_message' And my first thought does not go to the code, but to the inanity of the error message. 1. Attributes are metadata. A function doesn't have attributes unless it's marked up. it has a signature, access modifies and storage class indicators. 2. Functions are not "objects". Functions are functions. A function as an object is called a "functor" 3. Am I really fisking a python error message right now? And by then I've completely given up on the issue.

        Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

        J Offline
        J Offline
        jochance
        wrote on last edited by
        #29

        Was talking with a friend who leans more network engineer than programmer. They had some programming courses in college. I'm hoping I convinced them that C#/Powershell are far more useful things to focus on than Python unless they want to shift gears and be a data scientist. They asked if I thought Python as a first language was a hindrance. I think most absolutely so.

        H 1 Reply Last reply
        0
        • J jochance

          Was talking with a friend who leans more network engineer than programmer. They had some programming courses in college. I'm hoping I convinced them that C#/Powershell are far more useful things to focus on than Python unless they want to shift gears and be a data scientist. They asked if I thought Python as a first language was a hindrance. I think most absolutely so.

          H Offline
          H Offline
          honey the codewitch
          wrote on last edited by
          #30

          I agree that it is, since it's mostly just glue, and does so much for you, or via external libraries that too much is black boxed. Sure you can resize an image, but do you know what it's actually doing? I used to say C# was the way to go. Now, after watching people who aren't programmers pick and up and begin to program with something, I'm suggesting people go buy an ESP32, and start coding on that with Arduino. It will teach you enough C++ to be dangerous, and honestly? They're fun enough to keep you motivated even with the struggles. It won't teach you best practices, but I've seen more non-coder engineers go this route and be successful than i can count.

          Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

          J 1 Reply Last reply
          0
          • H honey the codewitch

            It makes me feel like a crotchety old English teacher.

            def receive_message(self, client, client_address)

            Yields "'function' object has no attribute 'receive_message' And my first thought does not go to the code, but to the inanity of the error message. 1. Attributes are metadata. A function doesn't have attributes unless it's marked up. it has a signature, access modifies and storage class indicators. 2. Functions are not "objects". Functions are functions. A function as an object is called a "functor" 3. Am I really fisking a python error message right now? And by then I've completely given up on the issue.

            Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

            E Offline
            E Offline
            englebart
            wrote on last edited by
            #31

            I have very little experience with python, but just enough to ask? Did you declare this inside the scope of an object? Did you indent the def? It looks like it does not know where to bind the function to be an attribute of a class?

            H 1 Reply Last reply
            0
            • E englebart

              I have very little experience with python, but just enough to ask? Did you declare this inside the scope of an object? Did you indent the def? It looks like it does not know where to bind the function to be an attribute of a class?

              H Offline
              H Offline
              honey the codewitch
              wrote on last edited by
              #32

              It was someone else's code I was trying to help them with and honestly I don't remember now. The point of my post was the error message is cryptic to the point of ridiculous because they've decided on adopting their own lexicon for describing programming constructs.

              Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

              J 1 Reply Last reply
              0
              • D Daniel Pfeffer

                I don't use Python because it solves no problems that I can't solve better with other tools.

                Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.

                0 Offline
                0 Offline
                0x01AA
                wrote on last edited by
                #33

                Maybe not better, but with Python much more easier if I think about all that matrix/vector operations...

                D 1 Reply Last reply
                0
                • H honey the codewitch

                  I agree that it is, since it's mostly just glue, and does so much for you, or via external libraries that too much is black boxed. Sure you can resize an image, but do you know what it's actually doing? I used to say C# was the way to go. Now, after watching people who aren't programmers pick and up and begin to program with something, I'm suggesting people go buy an ESP32, and start coding on that with Arduino. It will teach you enough C++ to be dangerous, and honestly? They're fun enough to keep you motivated even with the struggles. It won't teach you best practices, but I've seen more non-coder engineers go this route and be successful than i can count.

                  Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

                  J Offline
                  J Offline
                  jochance
                  wrote on last edited by
                  #34

                  I seriously want to tell new people to find whatever copy of VB they can. It's not at all like the basics (heh) don't carry. WYSIWYG is also just a powerful learning tool and we're not talking production web systems of messy genned code. Powershell/C# for the buddy is mostly about that being really useful for network admin types. Most everything modern, no matter what it is, there's just too much involved and it looks like such a big cookie you can't even figure where the first bite should be. As much as the lowered bar got a bad rap (see Unity in game dev today) it was precisely because the lowering of that bar was a great and massive enabler to bring people into the fold. If you want 'em to become part of the herd they need to at least begin to identify fields of sheep.

                  H 1 Reply Last reply
                  0
                  • H honey the codewitch

                    It was someone else's code I was trying to help them with and honestly I don't remember now. The point of my post was the error message is cryptic to the point of ridiculous because they've decided on adopting their own lexicon for describing programming constructs.

                    Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

                    J Offline
                    J Offline
                    jochance
                    wrote on last edited by
                    #35

                    Let's couple that newspeak with having invisible characters matter! /s

                    H 1 Reply Last reply
                    0
                    • J jochance

                      Let's couple that newspeak with having invisible characters matter! /s

                      H Offline
                      H Offline
                      honey the codewitch
                      wrote on last edited by
                      #36

                      Yeah, but I've already ranted about that in the past :)

                      Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

                      1 Reply Last reply
                      0
                      • J jochance

                        I seriously want to tell new people to find whatever copy of VB they can. It's not at all like the basics (heh) don't carry. WYSIWYG is also just a powerful learning tool and we're not talking production web systems of messy genned code. Powershell/C# for the buddy is mostly about that being really useful for network admin types. Most everything modern, no matter what it is, there's just too much involved and it looks like such a big cookie you can't even figure where the first bite should be. As much as the lowered bar got a bad rap (see Unity in game dev today) it was precisely because the lowering of that bar was a great and massive enabler to bring people into the fold. If you want 'em to become part of the herd they need to at least begin to identify fields of sheep.

                        H Offline
                        H Offline
                        honey the codewitch
                        wrote on last edited by
                        #37

                        I wouldn't get people started with VB6. C# is the way to go for new development, and is not that difficult to pick up as languages go. It's just that it can do a lot so you need a roadmap or a mentor so you don't get lost in all the functionality. Actually doing stuff with it is easy. The difference between C# and VB6, syntax aside, is with VB6 you had to beg borrow and steal your way through unmanaged APIs to do anything "off book" that VB6 wasn't designed for. There's a whole website devoted to this, for better or worse: https://vbaccelerator.com[^] With C#, it's all there already. But that just means there's a lot of stuff too. The trick to getting started is knowing where to start.

                        Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

                        J 1 Reply Last reply
                        0
                        • H honey the codewitch

                          I wouldn't get people started with VB6. C# is the way to go for new development, and is not that difficult to pick up as languages go. It's just that it can do a lot so you need a roadmap or a mentor so you don't get lost in all the functionality. Actually doing stuff with it is easy. The difference between C# and VB6, syntax aside, is with VB6 you had to beg borrow and steal your way through unmanaged APIs to do anything "off book" that VB6 wasn't designed for. There's a whole website devoted to this, for better or worse: https://vbaccelerator.com[^] With C#, it's all there already. But that just means there's a lot of stuff too. The trick to getting started is knowing where to start.

                          Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

                          J Offline
                          J Offline
                          jochance
                          wrote on last edited by
                          #38

                          I think what I like is getting at things aside console apps that you can easily see. It's small but it's also motivating/inspiring where Console.Writeline is maybe more 'meh, ok'. The stuff with event wire up to controls and such... that stuff really plays into a bunch of more modern things. > The trick to getting started is knowing where to start. That's the thing... indulging a bit of time travel obliterates so many starting points.

                          1 Reply Last reply
                          0
                          • 0 0x01AA

                            Maybe not better, but with Python much more easier if I think about all that matrix/vector operations...

                            D Offline
                            D Offline
                            Daniel Pfeffer
                            wrote on last edited by
                            #39

                            Possibly, if my work involved matrix/vector operations. Which it doesn't.

                            Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.

                            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