Python Forum
low-level coding (TL;DR)
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
low-level coding (TL;DR)
#1
i have always enjoyed low-level coding. i did many languages back when i started out on mainframes but assembler was the one i found to be the most fun. i ended up creating some macros that made it easier to do some structures in assembly code. lots of people always suggested some higher level language, but assembler what i stayed with for as long as i worked on mainframes. i did write a utility to list the contents of a tape dump (sort of like tar, but a very different format), in COBOL, just to show it could be done. a friend write a program that he said could read a program and figure out if it was Fortran or PL/1 and run it through the correct compiler. so i wrote a program to just copy one file, and work whether put through the Fortran compiler or the PL/1 compiler. i also created a lot of code in the REXX language on VM/CMS and created a disk space rental system for users at one of my past jobs. it was getting close to cloud concepts.

i encountered C when i got access to a DECsytem/20 model 2060 running TOPS-20 OS. it is a 36 bit machine which made things interesting. i dabbled a bit in its assembly code but C was drawing my attention more. i also started using PCL which was rather fun with all the features. i also got access to a DEC VAX running real BSD Unix. i interfaced it to the IBM Mainframe which had to include ASCII/EBCDIC translation both ways. i had programs to submit batch jobs to the mainframe and fetch print results.

along the way i encountered Perl and just hated it. the code was ugly and hard to read. i also hated Algol and Pascal mostly for their use if := for assignments.

i played MUD games online and became wizard level on 3 of them. they were coded in a higher level language that looked a lot like C called PLC which eventually shed the gaming in one branch and became Pike. Pike was both object oriented with multiple inheritance (made things rather confusing sometimes). it was still a bit hard to code even though i created some clever things like a one-liner that produced Pascals Triangle to an infinite depth. Pike has big ints like Python does, but is faster at them. it uses libgmp to do them.

and then there was Python. i actually encountered it soon after it came out. the indented code was interesting. what turned me off at the time was the immutability of strings. i didn't see the big picture of Python, yet. later, at another job where i was the Senior Systems/Networking/Electrical/Facilities Administrator (responsibilities included all circuit breaker panels, security alarms, locks, and keys) i watched the development team develop some really cool software that could analyze raw radar signals and detail individual people and vehicles and track which goes where. it was during this time when i first tried Python seriously. i was helping them get some network protocols and scientific algorithms right while they were helping me learn Python coding. that's when i finally saw the big picture instead of thinking about one thing at a time, like immutable strings. i just explained that string were my issue with Python and he simply said "you want lists". lists turned me around and i came to love Python and start coding in it like mad. but even then i remained a lover of low-level access. Pascal has virtually none. PCL has some. Pike has a lot and was extendible. but Python has an almost complete suite of low level access. i can easily work directly with file descriptors and i've done that, a lot.

so, my approach to Python is that it's an easier and more portable way to do low-level programming just like it did in C. but i'd rather do it in Python except for the very few things i need extreme speed for. my infinite square root calculator is still much faster in Pike than in Python. C just didn't do much better than Pike. this thing is done in ints scaled into millions of digits when it finally gets going. i like maths stuff and figure i will end up doing my next super-deep Mandelbrot/Julia set code in ints, prototyping it in Python and converting it to Pike for the run speed. the next version will be cloud and network based, and able to combine the power of many instances/machines/nodes/droplets or whatever they end up calling it. i do need to design the protocol for this and it needs to include a unique numbering system that lets ints represent fractional points exactly. numbers are expressed as steps to deeper and deeper points much like a Stern-Brocot tree, but in binary.

hopefully, this gives some insight into why i am a "coder of a different color".
Tradition is peer pressure from dead people

What do you call someone who speaks three languages? Trilingual. Two languages? Bilingual. One language? American.
Reply


Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020