|
1. The lounge is for the CodeProject community to discuss things of interest to the community, and as a place for the whole community to participate. It is, first and foremost, a respectful meeting and discussion area for those wishing to discuss the life of a Software developer.
The #1 rule is: Be respectful of others, of the site, and of the community as a whole.
2. Technical discussions are welcome, but if you need specific programming question answered please use Quick Answers[^], or to discussion your programming problem in depth use the programming forums[^]. We encourage technical discussion, but this is a general discussion forum, not a programming Q&A forum. Posts will be moved or deleted if they fit better elsewhere.
3. No sys-admin, networking, "how do I setup XYZ" questions. For those use the SysAdmin[^] or Hardware and Devices[^] forums.
4. No politics (including enviro-politics[^]), no sex, no religion. This is a community for software development. There are plenty of other sites that are far more appropriate for these discussions.
5. Nothing Not Safe For Work, nothing you would not want your wife/husband, your girlfriend/boyfriend, your mother or your kid sister seeing on your screen.
6. Any personal attacks, any spam, any advertising, any trolling, or any abuse of the rules will result in your account being removed.
7. Not everyone's first language is English. Be understanding.
Please respect the community and respect each other. We are of many cultures so remember that. Don't assume others understand you are joking, don't belittle anyone for taking offense or being thin skinned.
We are a community for software developers. Leave the egos at the door.
cheers,
Chris Maunder
The Code Project | Co-founder
Microsoft C++ MVP
modified 16-Sep-19 9:31am.
|
|
|
|
|
One of the things that really helps me when coding in C++ with templates is I can easily visualize the result of the template expansion/instantiation as raw C++ (no templates)
When I'm coding in C++ I can visualize the equivalent C as I'm coding.
I can also to a degree, visualize the assembly. Not in any specific sense, but in a sort of pseudo-code like "I know when we're doing a shift, an add, and a push here" kind of thing.
I do this to a lesser degree in C# even, when I'm considering performance. I think about C++ code required to get it to do the same thing - but like I said to a lesser degree.
Do you do this? I'm just curious. It feels like such a blessing sometimes.
To err is human. Fortune favors the monsters.
|
|
|
|
|
I have a good sense of what's happening underneath and will think about it if it seems important.
I never coded in C but spent a lot of time in a proprietary, procedural language that might be described as a cross between Modula and a stripped down Ada. We sometimes implemented polymorphism, inheritance, and encapsulation manually, so how OO languages did it wasn't a surprise.
Having to parse and instantiate the code for templates significantly improved my understanding of what was going on there.
My most recent experience actually writing assembler was on the PDP-10 π², but what happens in the depths hasn't changed much. Once in a while, I'd like to step into x64 assembler to see what the O/S is doing, but I can't follow it very well. Maybe someday it'll be important enough that I get my butt in gear and dig into it.
|
|
|
|
|
I call it the x-ray vision. I look at some code and visualize the code approximately how it will be when it runs.
Common? Probably not. I came to C and C# etc from an assembly background, but most programmers nowadays do not. Hence why they're happy to use constructs that are "nice on the surface but gross underneath".
|
|
|
|
|
I don't use a "UI designer" in WPF or UWP; it's all XAML and / or code for my UI. I can visualize the whole visual tree.
I can't do the same in Windows Forms; you "need" the UI designer (IMO).
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I
|
|
|
|
|
In a sense, any developer "worth their salt" can model what the machine is doing in their head. The merit of their code will reflect their ability to do just that. I don't think the approach you take to the model matters all that much. All that matters is the fidelity of the model to the task at hand.
I've worked with a couple 'cargo cult' programmers who genuinely couldn't do this. All they did was recognize a pattern to the task and copy/pasted code they'd seen that matched the pattern. They would then bash the code with a hammer until it more-or-less did what was required. It's hard working with them, because they don't understand what's wrong with what they did.
Software Zen: delete this;
modified 1hr 5mins ago.
|
|
|
|
|
Any decent programmer should have a good idea of what the VM (the one we program to, not the physical device) is doing. A good programmer will be able to see how this affects the processor (what CPU instructions are being executed). An outstanding programmer will take this one further level - how is this affecting the system (memory usage, caching, disk swapping, etc.).
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
They haven't got the first idea of cleaning up after themselves.
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
You shouldn't have fed them managed code.
Software rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012
|
|
|
|
|
... And I can't tell if it's a regular expression or he just walked over the keyboard ...
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
(I may have posted this before, if so, apologies)
Back in the day when I used Wordstar to write all of our user manuals I had been really stuck into some heavy duty writing and had forgotten to save my work for some time ...
To close down Wordstar without saving any of your work required the rather complicated keystroke sequence of Ctrl+KQY.
Any other sequence would result in nothing happening or at worst an error message.
Any. Other. Sequence. Of. Keystrokes.
Enter my cat (kitten) ... took a stroll over the keyboard... Hesitated when I screamed, with its paw hovering over the Y. Looked me right in the eye and placed that paw down. Evil incarnate, I swear.
|
|
|
|
|
|
Reminds me of a joke from many years ago about the TECO text editor[^] on DEC equipment. You could enter your full name and it would be a valid set of commands. It was interesting to see what actually happened.
Software Zen: delete this;
|
|
|
|
|
Not really. He's more of a tester, but he does work his paws to the bone. It's a good thing the work isn't too ruff. He's shed all of his other dooties.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
If I ever need a piece of high-performance piece of code, I'll teach my dog. He's a greyhound, the 2nd fastest land animal on Earth, just behind the cheetah.
Software Zen: delete this;
|
|
|
|
|
I show him a few weeks ago a new-retro game on C64, and he got exited, first to play than to change (adding things that C64 cannot probably do )
So we agreed I will teach him... So we started on how actually all that magic works on the lowest level (ones and zeros)...
After a few explanations he even more excited to learn...
Let understand kids today...
βReal stupidity beats artificial intelligence every time.β
β Terry Pratchett, Hogfather
|
|
|
|
|
May God have mercy on his soul...
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
|
She's had some exposure to (very wrong) Visual Basic.NET WinForms and SQL Server in the past and even wrote some of it.
The kind that does On Error Resume Next, Go To, had lots of empty Catch-blocks (in the deepest nested functions, so you'd never know when something failed), had 5000-line WinForms with no separation of concerns or code re-use whatsoever... You get the idea.
Luckily, that's a long time ago and she forgot most of it
I told her to start with the basics of C# so she can learn the syntax and the framework.
She's now following some online course, which teaches her to add integers, do string manipulation, etc.
I don't have the link, but I've seen it and it's pretty nice, with assignments that she needs to finish, and even some tips on how to use Visual Studio.
She's making good progress.
She wants to work with databases, learn about ASP.NET Razor Pages and create a web application.
Any tips on where to go next?
Online tutorials and books would be great, she needs things explained in an orderly manner.
|
|
|
|
|
|
Wordle 372 4/6
β¬β¬β¬β¬π¨
β¬β¬β¬π¨π¨
π¨π¨π¨β¬β¬
π©π©π©π©π©
|
|
|
|
|
Wordle 372 3/6
🟨β¬β¬β¬β¬
🟩β¬🟨🟨🟨
🟩🟩🟩🟩🟩
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Woo hoo
Wordle 372 2/6
π¨π¨β¬β¬π¨
π©π©π©π©π©
Life should not be a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside in a cloud of smoke, thoroughly used up, totally worn out, and loudly proclaiming βWow! What a Ride!" - Hunter S Thompson - RIP
|
|
|
|
|
Me too!
|
|
|
|
|
Wordle 372 5/6*
β¬π©β¬π¨π¨
π¨π©π©β¬β¬
β¬π©π©π©π©
β¬π©π©π©π©
π©π©π©π©π©
So many options for the one letter!
Happiness will never come to those who fail to appreciate what they already have. -Anon
|
|
|
|