Looking back it sounds silly but I had the hardest time understanding for each
loops in Javascript. Mostly because the tutorials I found were't explaining the parameters (value, index, array) of the call back function very well but also because I wasn't very comfortable with callback functions.
What was you Kriptonite while learning how to code?
Source image: Kelly Sikkema/ @kellysikkema
Top comments (43)
VSAM concepts. I worked as a mainframe developer in my first job and I went through a lot of pain trying to learn the basic operations on VSAM using COBOL. It'S been 6 years since I quit my job as a mainframe programmer and I don't have any memory of VSAM anymore (except that I struggled a lot :-D).
Nice to see a fellow Berliner here. Which part do you live in?
Gotta free that memory so it's good you forgot everything about it :D. I live on the East side - Friedrichshain. Thx for your input.
Coolio! I'm from Schรถneberg. (:
Nice posts, BTW. Keep 'em coming.
Thank you. Enjoy the city :).
Odd as it sounds, avoiding premature optimization was my biggest issue when coding. I have a natural tendency to always try for the most performant solution at the expense of readability/maintainability without considering what really is 'good enough'. It's not even just been an issue coding, but with any kind of design or engineering thing, I have the same tendency to optimize long before I should and far more than I should.
Other things that come to mind that I thought were difficult to wrap my head around at the time but now look back on as not being that hard include:
Did you use to have the premature optimization "issues" even as a junior? I'm still at that that point whee first I make the code work and maybe at the end I try to refactor it, but I can't really code with optimization in mind. I guess it's an experience thing? And I fell the pain of all the other points except for the last one, cos' I never used assembly language.
Actually, yes, I had the same issue even when starting out. I was a bit of an odd case at that point though because I already knew a lot more about the low level operation of computer hardware and the mathematics underpinning theoretical computer science than a vast majority of new developers do.
I had a hard time understanding and implementing a SOAP service once.
And another very hard time to wrap my head around google firebase authentication and storage without using their libraries...
I see you struggled with some really complicated things while I was there like "Hi, I'm Silvia and I can't understand for each loops".
Everybody has to start somewhere, and everybody has their own unique strengths and weaknesses.
One thing you'll definitely learn as you code is that no matter how difficult some thing you've learned seemed at the time, there's always something out there that will challenge you more.
Hopefully we'll never run out of things to learn :). Thank you for your input.
The 'S' in SOAP standards for Simple.
But you had a hard time? Which means you no longer have to deal with SOAP, right?
I had to consume a SOAP Service to book train tickets, while retrieving data was relatively easy, posting data was weird. It took a while until I understood the whole concept (I didn't write those xml messages myself, but used the php soap client) , and the data structure was very complex, it was hard to focus. At the end it helped me to understand and appreciate REST much more :). And no SOAP anymore, only for washing my hands. :)
"Complex" boolean expressions with multiple variables, especially if it contains various not operators.
I always have to spell or write those out to understand when
result
is true. I always find it best to refactor those things out of a function, into their own. And generally to avoid using double negatives.I'm learning Crystal. So, coming from JavaScript and Python it has been difficult to write code with the limitations that had a typed language. Everytime I will write Crystal code I must think the solution with types in mind.
It is the same with Typescript
I'm still struggling a bit with types D:
According to Phil Karlton they are cache invalidation and naming things.
No idea what cache invalidation is but I do struggle with naming things :).
2 things that get me are:
:)) currying, this is a term I didn't see used in a long time. I actually had to go read about it again, and as expected, I still don't understand it 100%.
SQL is very tricky in the beginning, especially if the only data-bases you used until then are shopping lists :). Thank you for the input.
Problems with database in general, actually
Recursive functions. And let's admit it: RegEx
RegEx is a true pain point in this thread :). Oh, an recursive functions... only reading the definition gives me a headache. Did you manage to get them in the end?
Yes! Oddly (or not so oddly) enough, when they sporadically presented themselves in my mind as the logical solution to a problem. It was the aha! moment we so often experience... :)
The reduce() method! I could understand the simple examples like summing an array of numbers, but it took some time to see how it could transform arrays. Now I use it all the time to transform data. Super useful.