Details
-
AboutJust a guy who likes green tests
-
SkillsC#, Python, TDD, microsevices and cloud native on AWS, lots of buzzwords
-
LocationColumbus, Ohio
-
Website
-
Github
Joined devRant on 2/22/2021
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
-
As a father with a daughter it's OK to cheer for someone in a situation rocking it where there gender/orientation/physical qualities usual don't.
Just as long as you aren't recognizing it just because they are said gender/ect but because they really are rocking it. -
@imaji the more I read rants here or just comments elsewhere the more I realize I'm at a great company. Unlimited PTO that really is Unlimited and isn't a scam by management. A more flat hierarchy and a lot of leeway to work horizontalally. Actual understanding of Agile, in the lack of deadlines and willingness by management to push deployment out if quality isnt there. True respect for my work/life balance, in that when I leave for the day, it's expected that I *dont* check my email.
Pay is only median for my area and exp, but ... well the grass isn't much greener elsewhere. And it's enough to support my family. -
Nothing. It's what the company wants project about their IT departments. I'm an Engineer but whatever. I do DevOps, Architecture, Development, Review, mentoring, being mentored, interviewing, research and PoCs, and many more... and so do many of my coworkers.
What matters more is the product we're working on and making it better. -
Aaaand... server failure.
-
I guess I'm a full stack. But I don't consider myself one. But it's an old term that is quickly loosing meaning but left with many old hang ups.
New cloud native stuff you kinda have to be little bit of everything... but your team should still have some that are better at front and some on back and ... I can dev from React to the graphql endpoints to the serverless apps to the back end dev ops... but I'm better at the devops. Have a teammate whose a wiz with graphql and another who does magic with react and another who is up and coming python wiz.
But we all can touch on every aspect. So we're all fullstack... but they come to me for architecture. And the other guy for ux and so on. -
@iiii main point I'm making here: static VS dynamic is easily defined (run time allocation of type VS compile time)
Strong and weak are not as there are close to a dozen definitions of what these mean. It's been too muddied.
And more so, as C# grows they are adding weak and dynamic abilities to the language that started strong and static to grow its ability to handle certain situations where such things are advantageous.
But hey. I've ranted on my rant on your rant long enough. If you choose to think I'm wacked, then none of this will change your mind. I am well aware of the differences of the 4 quadrants of typing in languages and comfortable with my understanding of what is and isn't one of those 4 quads, and my knowledge thar c# is deliberately adding features that place it in all 4 quadrants -
@iiii and my entire point in the second set of comments was that Strong/weak is so badly defined that its mistaken.
Some defined examples
https://dotnet-guide.com/what-is-th...
Some opinion
https://google.com/amp/s/...
Some more opinion
https://social.msdn.microsoft.com/F...
And my favorite
https://docs.microsoft.com/en-us/...
Where it specially calls out: C# 4.0 has features that make it both dynamic and static, as well as both weakly and strongly typed. -
@iiii I specifically said var is not dynamic, but close to weak. (Pseudo weak)
Dynamic keyword is dynamic -
Mastering a language and fundamentals of programming in general are not always connected. I've know a couple devs who could write some wiz code but couldn't tell you why it worked the way it did - they'd just figured out the end results along the way.
That being said - yes. When you know the why of programming languages picking up others is just learning the verbage -
Get the fuck out of my code and never come near it again.
Course my workplace is really strong on even new just out of college devs have something to contribute so listen.
Then I'd go drop Clean Code book on his head. -
@iiii The rant itself was about missing my compile time errors that don't happen in Python.
The comments went on to talk about weak and strong and how I find weak less of a problem - and thar C# has implemented two keywords to give it pseudo weak typing ( var ) and run time allocation of type (dynamic) - yes yes, fine maybe the way c# and Java actually implemented var is not really weak - but the point is the same.
Plus weak/strong is so miss-used now that what it actually means is muddied. C is often called weak (as I pointed out with pointers... heh ) because you can cast without errors but it's also got strong typeing at times, where you can't do that.
But by other definitions of weak, where there is no keep track of what kind of variable it is in memory, it's purely weak and even the 'weak' typing of c#/Java in var isn't- its just pseudo weak.
All this is me going on that: yes, static/dynamic is clear. Weak/strong is not, and easily conflated... but I did not conflate them. -
@iiii gosh your so triggered that you read my rant wrong!
Yes. Python is dynamic and I was ranting that its not static (note the at compile time line)
Python is also duck typeing. Which is often mistaken as weak, but is not so. It's just a freedom to use variables as other types based on their inherent methods that can be used in other variable types.
But I never once claimed python was weak typed - its variables are a specific type, but with duck typing it can auto cast them as needed.
I did note that Var keyword in C# gives it an aspect of weak typing (inferred) and the Dynamic keyword (again in c#) gives it at run time variable assignment, which is not static as the language usually is.
This comment was in reference that weak typing doesn't bother me as much as dynamic does - a static weak type language (C maybe if you're literal about Pointers) doesnt annoy me nearly as much as any dynamic (run time decided) language -
@AlmondSauce var does that exact same functionality in c# - infered. i.e. weak typing.
The somewhat recent Dynamic keyword however is a dynamically assigned variable that can change its type during run time, and has since turned c# into being able to act as a dynamically typed language... to my dismay, but at least the rest still functions as a static typed language. -
Some asynchronous call thats not shutting down properly? Or leaving connections/sockets/services running during the call?
-
@JustThat *angry fist shaking*
@op I feel ya
It slack. It won't go away. I don't mind a polite greeting (good morning hope your evening went well... so anyways <info dump and question> ) but you don't need to wait for my response to your greeting. Dump it out there and let's get back to work. We're all busy, let's move it along people! -
@Hazarth hah! I love that metaphor.
It also flies well with the annoyance that with type hints you still have to account for a bunch of abuse cases (like with social cues its easy to read wrong) but with static typing nope. It's a string or we throw everyone I jail! -
@AlmondSauce amusingly I don't mind weakly typed nearly as much. Var in c# makes things much easier to read
MyClass instance = new MyClass() is just so much more clunky than
var name = new MyClass() and in general the idea of a variable being free to be anything until it's something I'm 100% fine with...
But the fact that you don't compile python and it just runs - and sometimes just is able to run even when you think it shouldnt... o.o -
@AleCx04
Same thing here - I find I actually enjoy Python a lot.
but it was a simple formatting function, and I 'knew' i was getting 0/1 in a dictionary being passed to me, and it will either need to be True/False or None/Yes (depending on the field). If neither 0/1 return the value so I was confused why the heck my integration tests were showing assert "1" == "True" - using a full response dict not my stubs.
and then I realized the dictionary was storing it as strings.
Ah python. Ah my assumptions and my idiocy :grin: -
write code in clean code standards and document logic flows so others can read it! :)
kidding, somewhat. Been there with other who come to me asking what this does and I say 'did you read the docs and maybe debug step through some unit tests? Come back after you have if you still have questions. -
@AleCx04
:shakes fist at the sky of Pythonic values: -
As a jr dev who already has embraced most all of these tidbits (being retrained near my 40s helps in a lot of this :P) I have another
Be willing to throw it all away and start over. You get attached to what you did and start trying to fix it rather than walking away and seeing if your initial premise was flawed you will just continue to throw good money after bad.
sometimes the only real fix is to take what you've learned and start over. This isn't failure. This is iteration, and its core to good code/products.
(and TDD/BDD !!! I can't stress this enough - even if you don't end up using it, having the knowledge under your belt helps you think of more edge cases and more concerns!)