|
Started with Office 95, and has been expanded on ever since.
dandy72 wrote: In terms of UI, they're so bland and colorless nowadays that apart from resolution, I swear you could re-do today's UIs on CGA video cards. There is no money in changing the shade and color of a button. I prefer simple and practical.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
Eddy Vluggen wrote: There is no money in changing the shade and color of a button. I prefer simple and practical.
...and can't tell where a control ends and the next one begins, because borders don't show up until you hover the mouse over them? Which isn't an option in a touch UI...
|
|
|
|
|
dandy72 wrote: ...and can't tell where a control ends and the next one begins, because borders don't show up until you hover the mouse over them? Which was the same nonsense; the buttons as defined in W95 with their fat border worked equally well - a prime example of something good that changed to something less great because it had to look sexier.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
011111100010 wrote: People complain all the time about Microsoft but for me, their products work great and always work. I've been using Win10 and VS2017 for a while and have no issues.
Well...I mean...you got to turn the machine on.
I don't think you're holding it right.
|
|
|
|
|
|
|
As far as I'm concerned they're making a concerted effort to drive people to VS Code.
For some needs...it's more than enough.
|
|
|
|
|
I don't have a problem with the updates. I would rather have many updates then a worthless IDE.
|
|
|
|
|
Slacker007 wrote: I would rather have many updates then a worthless IDE.
perhaps, one day, one of those updates would fix that IDE, oh but it's microsoft ... why fix stuff when it can be out shone by even more [useless] new stuff
This internet thing is amazing! Letting people use it: worst idea ever!
|
|
|
|
|
Works just fine for me. I use it professionally (i.e. $$$) 8-10 hours a day.
Don't know how you are using VS2017, but I have no complaints. It used to be worse in year's pass.
|
|
|
|
|
Oddly coincidental that you'd bring this up. I was just noting to my boss that I'm going to have to load some version of VS on my current work system.
It's not in need of anything powerful - might even do it w/o .NET - but I was thinking about whether to opt for a quick turn-around (VS2008) or catch up with now-ness (VS 2017). I think 2008 is a safer bet.
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
If it's just one language, i.e. c#, I'd suggest a 2010 express over 2008, it's way more finished than 2008, equally 'lite' and more stable.
If you are mixing things up more then go 2013 - more stable and way lighter than both 2015 and 2017, super easy to setup. (way less bloated than 2017 and no need to wait for 'yet another update' if only used from time-to-time).
At home I use 2013 (out of the box settings/menus), and for many clients sites the 2010 c# express (for localised compiles/quick updates), source moves really easily both ways between 2013 and 2010 - not so much 2008.
BTW: another side effect of bloat is can spend ages looking through the menus for stuff coz they keep moving it around to make room for new crap. Of course you can customise menu's - but that's a pain in the ass having to sync-your-settings between [virtual and physical] machines at multiple locations - some of which I don't visit so often and not online.
This internet thing is amazing! Letting people use it: worst idea ever!
|
|
|
|
|
Thanks - I've lots of version available form an MSDN subscription I had.
I really look back to the days of QuickC - life was good.
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
Lopatir wrote: I'd suggest a 2010 express
I second that opinion. I still use 2010 every day even though I have 2017 installed...biggest reason is the quick startup time...another plus is the lack of updates!
"Go forth into the source" - Neal Morse
|
|
|
|
|
Lopatir wrote: which is the bigger joke now: win 10 or vs 2017 updates and non-fixes
...and, I was just about to comment that Win10 has been behaving itself for the last month. Yesterday afternoon I noticed that an update was ready, so I let the system update and restart. Less than a day later, I see that another update is now ready!
I also see that SSMS 2017 needs another update!
I'm sure my customers feel the same way sometimes!
"Go forth into the source" - Neal Morse
|
|
|
|
|
It astounds me that something as complicated as VS2017 is actually architected well enough to be maintainable. So I think Microsoft deserves some kudos.
Latest Article - A Concise Overview of Threads
Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
Artificial intelligence is the only remedy for natural stupidity. - CDP1802
|
|
|
|
|
By "grid" I just mean a good old 2D arrangement of cells like a chess board. Building it out of linked nodes means making every cell a node with explicit references to neighbouring node objects.
This is something that I've seen novices do quite a lot more than necessary. There can be reasons to do it, but usually it results in an over-explicit and over-redundant data structure and plenty of bugs. Every degree of redundancy is an opportunity for the data structure to get out of sync with itself, and anything explicit can be explicitly incorrect. Usually the reason they give for doing it is "because path finding algorithms work on graphs", but graphs are an abstract interface, not an implementation.
What tends to happen (obviously it is also possible to "just write correct code", but the point is it's easy to get wrong), especially if nodes are dynamically added and removed, is that the links decay over time. Nodes start disagreeing about whether they are connected, resulting in one-way connections, and the bad state starts to infect everything. Nodes that should have been disconnected entirely turn out to be linked to by some random other node. Multiple nodes that represent the same coordinate come into being. "Wild links" are teleporting all over the map for no clear reason. The path finding gets very confused and the programmer does too since what they see in the debugger (if they look at all, which many novices avoid for some reason) doesn't make any sense.
Perhaps the funniest part is that while all that is going on, it is realised that a 2D array is needed in order to quickly find a node with given coordinates, and from that point on all those buggy links are worse than useless: the location in the array implicitly defines the neighbours. All problems could have been avoided by just working with that 2D array to begin with. The only way you have a node is because you had its coordinates, so you always know where its neighbours are without even storing the coordinates on the node object. There are no more explicit neighbour links, so they cannot be incorrect. Marking a cell in the grid as non-walkable implicitly deletes whatever links that needs to delete, it cannot go wrong since there are no actual links to actually delete.
This phenomenon still surprises me. Building a grid out of linked nodes is something I had never even considered doing before I saw someone else making that mistake. Surely a 2D array is the first thing you think of when your data has the shape of a 2D array, that just makes sense. Or maybe it doesn't, because I've seen this anti-pattern a lot.
|
|
|
|
|
harold aptroot wrote: Surely a 2D array is the first thing you think of when your data has the shape of a 2D array, that just makes sense. Or maybe it doesn't It depends on what you actually need this "grid" for. Suppose that your grid was 10k by 10k and you only have 300 entries in there that you want; in other words you have created a sparse array. Maintaining a 10K x 10k array just for that is unnecessarily wasteful. In this case, a Linked List is a better option - it's much more suited to being a sparse array than an array is.
This space for rent
|
|
|
|
|
Then the data does not have the shape of a 2D array.
|
|
|
|
|
Your initial specification there talked about nodes, rather than the data the nodes contained.
This space for rent
|
|
|
|
|
harold aptroot wrote: All problems could have been avoided by just working with that 2D array to begin with.
harold aptroot wrote: especially if nodes are dynamically added and removed
I'm not going to "remove" a part of a 2D array. I might flag it, but refuse to remove it.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
harold aptroot wrote: Marking a cell in the grid as non-walkable
|
|
|
|
|
That's done with a flag; you don't remove the location, since the location still exists - only one of its properties has changed.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
I never said what you imagined I said. The "removing" thing is in the context of nodes.
Anyway I think you can reasonably assume that I'm not a total idiot.
|
|
|
|
|
harold aptroot wrote: I never said what you imagined I said. The "removing" thing is in the context of nodes. If you implement the map as a list of nodes, you'd still use a flag instead of removing the nodes.
harold aptroot wrote: Anyway I think you can reasonably assume that I'm not a total idiot. I don't like assumptions, and don't know how your coworkers think. I can also state that I am a certified idiot; that's why I need specifications, and come asking questions that may seem obvious to others.
Let them play Rimworld, might help
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|