Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "strong typing"
-
Tips for all the programmers out there:
- A programmer is not a PC repair man, just no one seems to remember about that
- Programming is thinking, not typing.
Counting starts from zero, not one.
- Even after completing a degree and courses and working on IT projects, learning never stops. If you want to stay competitive you should also work on personal projects that force you to use languages and software you never work with on the job.
- You don’t need serious math skills to be a developer. However, you’ll need basic algebra, logic, strong problem-solving skills, and most of all, patience.
- You don’t need a degree to be a developer - programming is like almost any profession: if you’re good at it, people will pay you for your skills, regardless of how you got there.
- Sleeping with a problem, can actually solve it.14 -
Dear Programming Languages,
if you only support weakly typed constructs, I wish you a special place in hell.
Dear Fellow Developers,
if you use a language that allows strong typing with weak typing, the next time we will meet after I have to fix a shitty bug due to that I will play piano on your teeth, and a melody you won't like.
And yes, that means PHP as well. PHP allows for strict types since php7.
So. Just. Fucking. Use. It.
There are no excuses!
I don't care if you don't see the benefit or find it "annoying" and tedious to write it out. Use a decent editor and it will be mostly code-completion anyway.
I just don't want to fix your fuckups. And if your fuckup is due to a typing issue that "slipped" by, you are part of the problem.
If you write software, it should be clear what type each and every variable or object has.
There are no excuses but your laziness.
If you want to be ambiguous, try poetry.23 -
These are the things that finally finally helped me stick to learning programming.
Hello world! This is my first story on devrant and I would like to share how I finally overcame the barriers that had always prevent me from learning programming in a more serious and structured way.
I know my way around linux, had some experience with BASIC many years ago and have more than basic notions of cryptography... however I never got myself to learn programming in such a way that I could write an app or interact with an API. Until now.
I have advanced more than ever before and I believe it might be thanks to these aspects:
1. C#
I have always had struggles with languages that were too compact or used many exotic or cryptic expressions. However I have found C# to be much more readable and easier to understand.
2. Visual Studio
My previous attempts at learning programming were without an IDE. Little did I know what I was missing!
For example when I tried learning python on Debian, I almost went crazy executing programs and trying to find the compile errors in a standard text editor.
Intellisense has been live changing as it allows me to detect errors almost immediately and also to experiment. I'm not afraid to try things out as I know the IDE will point out any errors.
3. .NET library and huge amounts of documentation
It was really really nice to find out how many well documented classes I had available to make my learning process much easier, not having to worry about the little details and instead being able to focus on my program's logic.
4. Strong typing
Call me weird, but I believe that restricting implicit conversions has helped learn more about objects, their types and how they relate to each other.
I guess I should be called a C# fanboy at this point, but I owe it to that language to be where I'm now, writing my first apps.
I also know very very little about other languages and would love to hear if you know about languages that provide a similar experience.
Also, what has helped you when you first started out?
Thanks!!5 -
Why I don't use Stack Overflow 99% of the time:
Me: I'm not a ruby developer, but I have to write a small script in ruby. I ran into a problem where i'm getting behavior I don't expect. I have a method which expects an array, and when multiple items are passed into it from the command line parser, behaves appropriately, but when only one command line argument is passed, the method breaks because it was passed a single element, not an array of one element. Here's my code, how do I get my desired behavior?
Most highly voted answer: your problem is your passing it a single element and not an array
Question downvoted into oblivion. As if i'm a pleb for not immediately having a perfect grasp of dynamic typing because when I have the choice I stick with strong nominative typing.8 -
Finally back at home (after having some trouble with Deutsche Bahn).
It is cold and cloudy here.
It feels so weird to use a laptop. I was there (in Turkey) only with my phone, typing this post on my laptop. The screen is so god damn big.
My bed is very soft. My kitten got very strong and fluffy. He looks more muscular now lol. And it seems like he missed us :3.
I missed him and I missed my car that I did not like like a month ago. I really understood how much value it has. Besides of that my mind is clean now. It was like meditation.
Fuck that pussy ass description.
How was your day, fellas?6 -
Over the past 2 months I have interviewed with several companies and 2 of them stood out at rejecting me. Let's call them Company A, and Company B!
> I know right? Developers are bad at naming!
I guess part of it is my fault too! I am old and slow. Doesn't like competitive programming and already forgot most of how to answer algorithm question. I can't even answer some of the algorithm question I've flawlessly answered back when I was fresh out of University.
## Company A
When I got chance to interview at Company A, they require me to answer HackerRank style interview. It's my first time in nearly a decade of working in the industry to feel like I'm in a classroom exam again. I hate it, and I deliberately voiced my distaste to the answers comment:
// Paraphrasing
// I'm sorry, I'm dumb!
// I never faced anything like this in real world work...
// ......
But guess what? My answer still pass the score, have a call with their VP, which proceed to have another call with their Lead Engineer.
Talked about my experience with Event Driven System and CQRS+ES and they decided that I am:
- Arrogant
- Too RND in my tech stack
- And overkill in CQRS+ES
And decided they don't need me.
They hate me for having a headstrong personality which translates as Arrogance to the perceiving end.
## Company B
Another HackerRank style interview. Guess I passed their score this time without me typing some strong comment and proceed to have another test with their Lead Engineer.
This time they want 5 question answered in google docs within 60 minutes.
Two of them stood out to me for being impossible to work on 12 minutes (60 / 5 if you're wondering). Or maybe I'm just old and dumb?!
The others are just questions copied word for word from Geeks For Geeks.
One of the question requires me to write a password brute force attack to an imaginary API.
The other requires me to find a combination of math `+` or `-` operation from `a strings of numbers` that results in `a number`.
My `Arrogance` kicks in and I start typing a comment
// Paraphrasing
// I am sorry but I feel this is impossible for me to think of in 12 minutes
// (60 / 5 if you're wondering)
// But I know you guys got this question from Rosseta Code!
// Here's the link, but I don't know the logic behind it
See? I've worked on this question back when I was still a University student and remember where to look at.
Unsurprisingly, I've heard the feedback that I was rejected although I've answered one of their question `FLAWLESSLY`. I know they are being sarcastic at this point. haha.
---
I was trying to be honest about what I can and can't do in the `N` minutes timeframe and the Industry hates me.
I guess The Industry love people who can grind `GFG` or other algorithm websites, remember the solutions out of their head, and quietly answer their `genuinely original question` without pointing the flaws back at them.9 -
Fuck NodeJS and Python, C# and strong-typing is all I need in life. (But python is sometimes useful)10
-
Incident of my colleague, who is really hard-working but ain't so smart strategically.
So this morning the entire team connected to discuss the status or criticalll points.
When my colleagues turn came, she delivered a monologue for 15 minutes straight and was still going strong.
(Fucking hell, I couldn't stop laughing while typing this).
My TPM had to interrupt her, and the way he did is even funnier, to discuss few points.
I was the only one on video and I just couldn't resist laughing at the entire situation.
How the fuck can someone talk non-stop for 15 minutes without being breathless and still can go for another round.
Hahahaha it was hilarious.3 -
A good IRL metaphor for strong typing is how germans use their pronouns (der/die/das).
Throw your stones guys, but honestly: I hate that too :D3 -
Let's say you're pretty good frontend dev, a bet geeky about strong typing. And you're paired with an API backend, and it's PHP. You would think it's pain when it's bad PHP. No, real pain is when it's good PHP, and backend dev embraces and uses dynamic nature of the language to an extreme.3
-
So, guys, I'm wondering if someone can help me wkth this thing. I'm sorta newish to programming and was searching up different kinds of typing. Basically what I found was:
Strong: Variables are explicitly declared, can only be changed to values of that type
Weak: Variables are implicitly typed, can accept any value of any type.
However, upon searching static and dynamic, it says the same things for dynamic and weak, and for static and strong. Can anyone help me by telling me the dofference between these (if you even understood this post 😅)
Thanks5 -
I have this love-hate relationship with strong typing.
Right now, the types are shared between:
Postgres <-> DB Data Models <-> GraphQL <-> TypeScript <-> MobX-State-Tree2 -
Once upon a time in the bustling city of Techville, there lived a talented web developer named Alex. Known for their exceptional coding skills and innovative designs, Alex had a reputation as a brilliant but often solitary worker. Despite their immense talent, they often struggled with social interactions and found it challenging to connect with their colleagues.
One sunny morning, as Alex arrived at the sleek offices of WebWizards Inc., they noticed a new face amidst the sea of familiar coworkers. Her name was Lily, a warm and friendly individual with an infectious smile. Alex couldn't help but be drawn to her positive energy and kind nature.
Over time, as they worked on various projects together, Alex and Lily formed an unexpected bond. Lily's patience and willingness to collaborate made their partnership seamless. She recognized Alex's expertise and valued their creative input, which helped foster a deep sense of mutual respect.
As their professional relationship grew, Alex began to see beyond the surface of the company they worked for. They realized that WebWizards Inc. was more than just a business; it was a family of talented individuals who genuinely cared about one another. The company fostered an inclusive and supportive environment, encouraging personal growth and celebrating achievements.
One day, overwhelmed by gratitude for both Lily and the company they worked for, Alex decided to express their feelings. They sat down and poured their heart out, typing a heartfelt message of appreciation and admiration. Alex couldn't contain their excitement as they hit the "Send" button, eagerly awaiting a response.
To their delight, Lily responded promptly with overwhelming joy and gratitude. She confessed that she had also felt a strong connection with Alex and considered them an invaluable asset to the team. Furthermore, she shared that the supportive culture and caring nature of WebWizards Inc. had made her job more fulfilling and enjoyable.
The two coworkers became closer friends, their collaboration flourishing both in and out of the office. Alex's once-rare smiles became more frequent, and their confidence grew. They no longer felt like an outsider but an integral part of a wonderful community.
Together, Alex and Lily continued to create outstanding web projects, surpassing expectations and leaving their clients amazed. Their passion and dedication were fueled by the genuine camaraderie they shared with their colleagues at WebWizards Inc.
As time passed, Alex realized that their journey as a web developer had been transformed not only by their skills but also by the amazing people they had the privilege to work with. They learned that a kind coworker and a supportive company could make a world of difference, turning an ordinary job into an extraordinary experience.
And so, the tale of Alex, Lily, and the remarkable WebWizards Inc. serves as a reminder that in the vast realm of work, the bonds we form and the culture we foster can be as impactful as the tasks we accomplish.11 -
Worst / best feature of any language:
Lack of / requirement of strict / dynamic / weak / strong typing. Just typing. Typing typing typing just typing.
Having to specify the type in C/++/#, Java/Kotlin is so annoying and delays the project so much by having to do declare weird classes with 3 or 4 fields just because you need it in this tiny line of code.
Not having good type support in JavaScript and Python is a pain in the eyes when you can't find what type each variable is, or when you pass a wrong argument to a function, and when you do, it shows the definition for the type in a .ty or.pyi file and not the definition itself which you have to find elsewhere. Spent half of my uni exams trying to decipher the type while it could've been a piece of cake if you just knew the type.
Love / hate relationship 😝1