I was digging through the projects I wrote in the first half of college ca 2011-2012 tonight, the first code I'd ever written. I had an idea of what I'd find, but it was still a kick going through it all. Lots of lengthy, procedural C++ programs, gargantuan functions, and severely nested loops. Hard to believe it's been eight years now.
I've passed the stage of embarrassment, though. A first step is a first step.
I was digging through the projects I wrote in the first half of college ca 2011-2012 tonight, the first code I'd ever written. I had an idea of what I'd find, but it was still a kick going through it all. Lots of lengthy, procedural C++ programs, gargantuan functions, and severely nested loops. Hard to believe it's been eight years now.
I've passed the stage of embarrassment, though. A first step is a first step.
We were eliminating some tech debt on one of our projects recently, so we were reviewing some "old" ReactJS code. I saw a function that was just poorly written, even though it worked, and made a comment to the effect that whoever wrote that code had no idea what they were doing. My tech lead took a look at the diff, and noticed that I was the one who had written it about two years previous, and we had a bit of a laugh before we refactored it. We often use the identifiers "past me" and "future me" when discussing code, and say things like "past me sure was an idiot when he wrote that code", or "I wonder what future me will think of this code I just threw together".
If you already know another similar language, like Java, Ruby, etc or even JS, then Python is a breeze.I've been focused on learning Python.
I'm discovering that I learn more quickly if I have a project. Sure, I'll watch the little tutorial, follow along with the examples, and I won't retain a thing. What really makes me sit up are puzzles.
"Here's a 400-character-long string. Test whether it's a palindrome."
"What's the longest repeating sequence of characters in this string?"
"Calculate the mean, the median, and the average of these integers."
Etc...
If you already know another similar language, like Java, Ruby, etc or even JS, then Python is a breeze.I've been focused on learning Python.
I'm discovering that I learn more quickly if I have a project. Sure, I'll watch the little tutorial, follow along with the examples, and I won't retain a thing. What really makes me sit up are puzzles.
"Here's a 400-character-long string. Test whether it's a palindrome."
"What's the longest repeating sequence of characters in this string?"
"Calculate the mean, the median, and the average of these integers."
Etc...
If you already know another similar language, like Java, Ruby, etc or even JS, then Python is a breeze.I've been focused on learning Python.
I'm discovering that I learn more quickly if I have a project. Sure, I'll watch the little tutorial, follow along with the examples, and I won't retain a thing. What really makes me sit up are puzzles.
"Here's a 400-character-long string. Test whether it's a palindrome."
"What's the longest repeating sequence of characters in this string?"
"Calculate the mean, the median, and the average of these integers."
Etc...
Well, I don't know any language. I got into this by teaching myself shell scripting with Powershell. Now I'm trying to broaden my skill set for job security.
I've been focused on learning Python.
I'm discovering that I learn more quickly if I have a project. Sure, I'll watch the little tutorial, follow along with the examples, and I won't retain a thing. What really makes me sit up are puzzles.
"Here's a 400-character-long string. Test whether it's a palindrome."
"What's the longest repeating sequence of characters in this string?"
"Calculate the mean, the median, and the average of these integers."
Etc...
Recently I have been learning python (among other things like JS) too.
I did some stuff in python 20 years ago but it was one time stint with python and MySQL.
Python seems superficially simple and easy to start doing something. But I found that if you dig dipper it's rather difficult and very different from C++. A lot of stuff is not explicitly mentioned/explained in tutorials. For example importing modules have few things which I found unexpected and took me awhile to realize why it behaves that way.
Decorators are also unusual and combined with other usual tricks make other peoples code rather unreadable/confusing for someone who is used to C++. Dynamically typed languages are weird.
@some_decorator
def foo(a, b):
...
def foo(a, b):
...
foo = some_decorator(foo)
I know that now. Then there are descriptors and there is whole bunch of __something__ symbols with special meanings.Recently I have been learning python (among other things like JS) too.
I did some stuff in python 20 years ago but it was one time stint with python and MySQL.
Python seems superficially simple and easy to start doing something. But I found that if you dig dipper it's rather difficult and very different from C++. A lot of stuff is not explicitly mentioned/explained in tutorials. For example importing modules have few things which I found unexpected and took me awhile to realize why it behaves that way.
Decorators are also unusual and combined with other usual tricks make other peoples code rather unreadable/confusing for someone who is used to C++. Dynamically typed languages are weird.
Yes, many fundamental aspects of python are quite different from C, C++. But there is an inherent simplicity.
Decorators aren't really that unusual. The decorator syntax:
Code:@some_decorator def foo(a, b): ...
Is equivalent to:
Code:def foo(a, b): ... foo = some_decorator(foo)
A "decorator" is simply any callable (e.g. function) that accepts a callable as an argument and returns a callable, although the @decorator syntactic sugar does not enforce that (there's one big difference between C++ and Python, Python relies on convention often). The idea is that your decorator should return the callable with "some behavior decorated on it". And there really is nothing unusual about this when functions are first-class objects.
Any COBOL programmers looking for a new job? https://qz.com/1832988/covid-19-results-in-new-jersey-desperately-needing-cobol-coders/
Desperate enough to have russians from Russia?Any COBOL programmers looking for a new job? https://qz.com/1832988/covid-19-results-in-new-jersey-desperately-needing-cobol-coders/
Desperate enough to have russians from Russia?Any COBOL programmers looking for a new job? https://qz.com/1832988/covid-19-results-in-new-jersey-desperately-needing-cobol-coders/
$80 per hour, I can learn COBOL in two days for that.
Desperate enough to have russians from Russia?Any COBOL programmers looking for a new job? https://qz.com/1832988/covid-19-results-in-new-jersey-desperately-needing-cobol-coders/
$80 per hour, I can learn COBOL in two days for that.
APL? There's a programming language with that name, but it uses lots of extra symbols, and it is very terse. Why APL and not (say) Python?Desperate enough to have russians from Russia?Any COBOL programmers looking for a new job? https://qz.com/1832988/covid-19-results-in-new-jersey-desperately-needing-cobol-coders/
$80 per hour, I can learn COBOL in two days for that.
Bad bet. APL is much more efficient. My little brother, almost 78, up in Ilwaco WN has been replacing COBOL with APL for banks, Insurance companies, and Oil Companies for over 40 years.