OrcaAlso known as EspressosaurusWrexRegistered Userregular
edited April 2019
There is no one-size-fits-all right now. It depends on your current hardware, where you are limited with your current hardware (CPU, RAM, video card, IO?), the games you want to play/applications you want to run, and your budget.
Orca on
0
OrcaAlso known as EspressosaurusWrexRegistered Userregular
There is no one-size-fits-all right now. It depends on your current hardware, where you are limited with your current hardware (CPU, RAM, video card, IO?), the games you want to play/applications you want to run, and your budget.
Yeah, that figures. I'm mainly debating whether to upgrade off my current 660Ti and slap in some more RAM (partly because if I'm upgrading I may as well fill the empty slots).
webguy20I spend too much time on the InternetRegistered Userregular
Usually when the motherboard can't support a modern processor is my go-to. I usually upgrade CPU, mobo and RAM at once, then GPU the next year, rinse repeat. lately you can probably get two GPU refreshes before the CPU is limited.
Usually when the motherboard can't support a modern processor is my go-to. I usually upgrade CPU, mobo and RAM at once, then GPU the next year, rinse repeat. lately you can probably get two GPU refreshes before the CPU is limited.
Whereas I never upgrade my CPU or RAM until I'm ready for a complete new build (RAM I purchase enough at the time of build that I will never have to upgrade it unless there are unexpected developments; in 2012 I went with 16 gigs; this year I'll go 32). I'll usually refresh my disks/SSDs every 3 years, and GPU every 2-3 years, depending on if the games I'm playing are starting to chug at the resolutions I want to play at. Full refresh cycle seems to be 6-7 years right now (I almost upgraded last year, and will definitely upgrade this year).
I'm mainly debating whether to upgrade off my current 660Ti and slap in some more RAM (partly because if I'm upgrading I may as well fill the empty slots).
...it depends on what games you're playing, what your current CPU is, and how much RAM you have. edit: or for that matter if you have an SSD or if you're still relying on spinning rust for your main drive. If you're playing Into the Breach, it doesn't much matter what you're using. If you're playing Battlefield, you definitely need a GPU upgrade, and you could probably use a CPU and RAM one to go with it, at which point you might consider just replacing everything.
Yeah, and that's kind of where I'm on the fence. I'm definitely at the point where I'm starting to feel it on framerate, but I'm not entirely sure how to notice on CPU bottlenecking in a game (like, what does that even look like).
Also, I'm not sure how much more I can get out of the CPU if I overclock it.
Yeah, and that's kind of where I'm on the fence. I'm definitely at the point where I'm starting to feel it on framerate, but I'm not entirely sure how to notice on CPU bottlenecking in a game (like, what does that even look like).
Also, I'm not sure how much more I can get out of the CPU if I overclock it.
If you can increase the resolution without changing your FPS, you're CPU limited. If you can't, you're GPU limited. But again, how bad things are is going to depend on the game you're playing. Games like Arma or SWTOR are all about the single-threaded CPU performance. Games like Civ 6 or Cities: Skylines will chew up as many cores as you want when you get to lategame. Turn up the graphics on Deus Ex: Mankind Divided, and you can make all but the beefiest graphics cards cry. Games like Battlefield are a blend of the two, requiring both good CPU and GPU performance if you want to crank the quality.
I'm assuming you're not RAM limited, because if you are, that's the first thing to fix.
Orca on
+1
OrcaAlso known as EspressosaurusWrexRegistered Userregular
edited April 2019
I also just looked up the 660 Ti release date, and if the rest of your rig is from that time (2012) it's not a bad idea to think about upgrading. Depending on what CPU you're running you might be able to get a few more years out of the rig by upgrading the GPU and RAM.
So: what kind of CPU do you have? How much RAM do you have? And are you using an SSD as your primary disk?
edit: And perhaps most importantly, what's your budget?
Orca on
0
webguy20I spend too much time on the InternetRegistered Userregular
Also any video card with under 4GB of onboard ram will be hamstrung by today's video games.
I also just looked up the 660 Ti release date, and if the rest of your rig is from that time (2012) it's not a bad idea to think about upgrading. Depending on what CPU you're running you might be able to get a few more years out of the rig by upgrading the GPU and RAM.
So: what kind of CPU do you have? How much RAM do you have? And are you using an SSD as your primary disk?
edit: And perhaps most importantly, what's your budget?
i5-3570k, 8GB, no.
And yeah, this is an old rig. The only parts newer than 2013 or so are replacements (PSU burnout, HDD failure).
I also just looked up the 660 Ti release date, and if the rest of your rig is from that time (2012) it's not a bad idea to think about upgrading. Depending on what CPU you're running you might be able to get a few more years out of the rig by upgrading the GPU and RAM.
So: what kind of CPU do you have? How much RAM do you have? And are you using an SSD as your primary disk?
edit: And perhaps most importantly, what's your budget?
i5-3570k, 8GB, no.
And yeah, this is an old rig. The only parts newer than 2013 or so are replacements (PSU burnout, HDD failure).
You could probably tide yourself over for another couple years if you just upgrade to the beefiest GPU you can afford and another 8 GB of RAM--assuming you've got a PSU capable of powering it.
Or now (or in late summer preferably after Ryzen 3s drop and alter the market price of CPUs) would be a decent. If you do go for the latter, make sure you're pricing out a new PSU. Your old one is pretty old unless you just got it a couple years ago. Those analog components don't last forever.
I also just looked up the 660 Ti release date, and if the rest of your rig is from that time (2012) it's not a bad idea to think about upgrading. Depending on what CPU you're running you might be able to get a few more years out of the rig by upgrading the GPU and RAM.
So: what kind of CPU do you have? How much RAM do you have? And are you using an SSD as your primary disk?
edit: And perhaps most importantly, what's your budget?
i5-3570k, 8GB, no.
And yeah, this is an old rig. The only parts newer than 2013 or so are replacements (PSU burnout, HDD failure).
So the 3570k is definitely old at this point, but it's a great chip that usually overclocks really well as long as your cooler is good. It'll still bottleneck modern GPUs, but you've got headroom over a 660 Ti.
So if you're not in a position to invest in a whole new system, I'd suggest this:
1) Overclock your CPU as high as possible, and invest in a good cooler if you don't already have one. Most coolers just need a new bracket for a different motherboard, so getting a good cooler now means you can carry it over to your next build.
2) Go to 16GB of RAM. Used DDR3 is cheap and your whole system will feel smoother, and you'll pick up some frames too.
3) Buy a new GPU. This is also a part that'll easily carry over to a later build. Depending on your needs and budget this is a pretty wide space. If you don't have a ton of money to spend, a GTX 1660 Ti might be a good choice, or if you've got some money to spend, something like an RTX 2070 will last you longer even if your 3570k will be bottlenecking it.
4) Buy an SSD. Really, this would be the biggest quality of life upgrade for your general computing experience. Having your OS and games on an SSD is night and day different to having them on a hard drive. Technically I'd place this over everything else in this list if the first two suggestions weren't so cheap and if your GPU were just a bit newer.
+3
OrcaAlso known as EspressosaurusWrexRegistered Userregular
I think I need about 5k to bring my personal computer hardware up to a modern standard.
what's the going market rate for a kidney?
$1500 will bring it up to a good modern standard. $2500 if you're feeling spendy. $5000 will buy you ridiculous power that can drive 4K gaming and is way out there on the price/performance curve. Which isn't to say you shouldn't do it! Just that you don't have to these days.
Oh, no, sorry. Misunderstanding. I don't need to spend 5k on one computer. I need to spend it on three. Plus a cintiq. Hardware in the plural sense.
Edit: also when I say bring my hardware up to standard I mean "toss what I have and start over". My desktop (which I never even bothered unpacking in my last two moves) is over ten years old.
Double edit: basically I need to replace my laptop, buy a high performance low profile windows-capable machine for design work (I'll probably just get a nuc+decent monitor), and if I've got enough left over, a new desktop (that one's low on the priority list though (
So, when is it worth going to a new computer as opposed to just adding new hardware?
I'm still on a 3770k (at 4.4 GHz) from late 2012, and it was starting to struggle with the GTX680 from the same era. I got my hands on a 980Ti recently though (thanks to a forumer!) and now it laughs in the face of the games I play at 1080p.
apparently my tax return is higher than expected. I put this machine together in late 2016: pcpartpicker link
I'm mostly musing on buying either a new CPU or a new video card. Which would you prioritize? Any changes you might recommend?
(of note: the SSD predates the other components: it was purchased in 2010. I'm relatively unconcerned because Samsung Magician claims the drive health as "good")
@tynic for some of your workloads, it may be worth exploring cloud compute options as well. I know at work I spin up instances as needed and it's cost maybe 50 bucks over the past year for an on-demand data processing monster.
If you're on 1080p, upgrading now may be a bit early. 2080s are overkill for 1080p but not guaranteed futureproof for 4k. It's been a weird 3 years in GPUs.
What I would consider:
Spend roughly $100 on a secondary 1TB SSD to deal with modern big install sizes. Getting great load times on your 20 most played games instead of 3 is a big difference in QoL.
Think about your monitor/GPU situation. Gsync/FreeSync monitors with enough oomph to get the fps are really nice. That high frame rate smoothed may be more noticable than increased resolution. Unfortunately we're not yet in the era of affordable HDR/*sync monitors. You'd probably look at a 2070 for that?
So I'm rocking a GTX950, and I have a 7700k cpu with 16GB of DDR3.
I'm not looking to spend a single penny any time soon, and I don't game, but I watch videos a lot, and I'm curious if my GPU is actually better than onboard with respect to memory and all that? The 950 only has 2GB, but it's dedicated, and DDR5.
Thoughts?
Also I'm going to be grabbing these
Sony MDRXB50APs to replace my headphones, and also to serve as in-ear monitors for my new bass (since I might be practicing at hours where the amp cab isn't really an option)
@tynic for some of your workloads, it may be worth exploring cloud compute options as well. I know at work I spin up instances as needed and it's cost maybe 50 bucks over the past year for an on-demand data processing monster.
I don't have any vast processing needs for my home computing setup, generally. I do use my laptop as an on the go work device, but unless I'm in Africa (where net connection can be dicey in any case), that tends to be limited to writing papers and such.
I need to spend a chunk of money because I literally haven't bought any hardware since 2011, and everything I own is dying a slow but unavoidable death. About the only thing I could upgrade cheaply is to swap out my laptop hard drive, but that's only a partial fix for one of its many internal issues. Plus I want to do some home design work for personal projects, but I usually run an all-apple ecosystem, while the software that best suits my needs for robotics CAD is windows only (and boot camp sucks balls). "High performance" in this instance needs to be local, for cad design it's all about the graphics card and CPU.
Until last year I also had a broken down cintiq which crashed every five minutes and I eventually sold, so it would be nice to get a replacement.
So none of these things will be overly expensive individually, except a decent laptop. I'm just constantly about 30s away from only having access to pen and paper.
I feel like I need to share this somewhere, but I don't see a programming thread specifically.
I had the thought earlier tonight that I wanted to update my 'dev console' to include things like variable values. I dug around a little and found sprintf, and my first idea following was
int a = 65;
char test[] = { sprintf(test, "%d", a) };
printf("%s", test);
And I was initially disappointed because it put out [an unprintable character].
I had someone take a look at it and he was just amazed it compiled. We ran a couple of tests, couldn't make it work. A few hours later I pulled up a reference site and felt extremely stupid: for no good reason I had been assuming the function returned the string. In hindsight this makes no sense at all and I have no idea why I thought it.
once I saw the test program, I plugged in 1234567 for a, and was rewarded with a BEL upon executing the program.
I'm geeking out a little about this.
Tamin on
0
OrcaAlso known as EspressosaurusWrexRegistered Userregular
Lessons on why C is a terrible language for newcomers, number 87421.
I am also surprised it compiles, though you really should pay attention to your warnings! And I'm also not convinced you aren't scribbling over your stack by doing it that way.
apparently my tax return is higher than expected. I put this machine together in late 2016: pcpartpicker link
I'm mostly musing on buying either a new CPU or a new video card. Which would you prioritize? Any changes you might recommend?
(of note: the SSD predates the other components: it was purchased in 2010. I'm relatively unconcerned because Samsung Magician claims the drive health as "good")
If you can bear to hold on for 3 months, it really is worth seeing why the next set of Ryzens will deliver in July IMO.
I feel like I need to share this somewhere, but I don't see a programming thread specifically.
I had the thought earlier tonight that I wanted to update my 'dev console' to include things like variable values. I dug around a little and found sprintf, and my first idea following was
int a = 65;
char test[] = { sprintf(test, "%d", a) };
printf("%s", test);
And I was initially disappointed because it put out [an unprintable character].
I had someone take a look at it and he was just amazed it compiled. We ran a couple of tests, couldn't make it work. A few hours later I pulled up a reference site and felt extremely stupid: for no good reason I had been assuming the function returned the string. In hindsight this makes no sense at all and I have no idea why I thought it.
once I saw the test program, I plugged in 1234567 for a, and was rewarded with a BEL upon executing the program.
I feel like I need to share this somewhere, but I don't see a programming thread specifically.
I had the thought earlier tonight that I wanted to update my 'dev console' to include things like variable values. I dug around a little and found sprintf, and my first idea following was
int a = 65;
char test[] = { sprintf(test, "%d", a) };
printf("%s", test);
And I was initially disappointed because it put out [an unprintable character].
I had someone take a look at it and he was just amazed it compiled. We ran a couple of tests, couldn't make it work. A few hours later I pulled up a reference site and felt extremely stupid: for no good reason I had been assuming the function returned the string. In hindsight this makes no sense at all and I have no idea why I thought it.
once I saw the test program, I plugged in 1234567 for a, and was rewarded with a BEL upon executing the program.
Lessons on why C is a terrible language for newcomers, number 87421.
I am also surprised it compiles, though you really should pay attention to your warnings! And I'm also not convinced you aren't scribbling over your stack by doing it that way.
(with something that small I hadn't considered including the -Wall flag, but doing so now I see "warning: narrowing conversion of 'sprintf(((char*)(& test)), ((const char*)" %d"), a)' from 'int' to 'char' inside { } is ill-formed in C++11 [-Wnarrowing]"
it, uh, also doesn't work in context. It 'works' when that's the entire program, but, yeah. Dropping it into the larger program does strange and terrible things. But amusing!
And also frustrating, you know, because I've been tooling around with c and c++ for decades (as a hobby) and when I intuited that line? I felt like like I'd finally put the pieces together. It felt like something I'd see in the K&R book, a wizard spell.
0
thatassemblyguyJanitor of Technical Debt.Registered Userregular
I'll just be over here screaming at register addressing.
I like ARMs RealView compiler’s attribute extension where we can specify a specific section directly in the code from a common memory map include instead of having to assign base addresses in the linker script. Honestly it makes defining a typedef for memory mapped registers sooo nice.
0
Donovan PuppyfuckerA dagger in the dark isworth a thousand swords in the morningRegistered Userregular
in the early days of iphone development, memory references were managed by hand, and Xcode had brilliant tooling to help you identify leaks on this premise
this was good, and it separated the strong from the weak
now, there's a garbage collector, but there's also still a very strict memory allocation limit which cannot be defined for the developer in advance, other than that it exists, and when you break it, your app will hard exit immediately
if something is leaking in my app now, i must perform lengthy Rituals to figure out which stupid system framework has decided to mess up the garbage collector
you cannot even call dealloc on an Objective-C object anymore. It's explicitly not allowed. All hail the garbage collector! My personal C'thulu
don't get me wrong, i like managed code. but only when it's running on a computer with 32GB of RAM. meanwhile here I am in 2019 writing garbage collected code for a device which on a good day might give me 80MB of RAM
+1
OrcaAlso known as EspressosaurusWrexRegistered Userregular
in the early days of iphone development, memory references were managed by hand, and Xcode had brilliant tooling to help you identify leaks on this premise
this was good, and it separated the strong from the weak
now, there's a garbage collector, but there's also still a very strict memory allocation limit which cannot be defined for the developer in advance, other than that it exists, and when you break it, your app will hard exit immediately
if something is leaking in my app now, i must perform lengthy Rituals to figure out which stupid system framework has decided to mess up the garbage collector
you cannot even call dealloc on an Objective-C object anymore. It's explicitly not allowed. All hail the garbage collector! My personal C'thulu
don't get me wrong, i like managed code. but only when it's running on a computer with 32GB of RAM. meanwhile here I am in 2019 writing garbage collected code for a device which on a good day might give me 80MB of RAM
High excuse me have you heard of static allocation
oh, that's not a permitted use case? HAHA SUCKS TO BE YOU
Posts
3DS: 0473-8507-2652
Switch: SW-5185-4991-5118
PSN: AbEntropy
Yeah, that figures. I'm mainly debating whether to upgrade off my current 660Ti and slap in some more RAM (partly because if I'm upgrading I may as well fill the empty slots).
3DS: 0473-8507-2652
Switch: SW-5185-4991-5118
PSN: AbEntropy
Origin ID: Discgolfer27
Untappd ID: Discgolfer1981
Whereas I never upgrade my CPU or RAM until I'm ready for a complete new build (RAM I purchase enough at the time of build that I will never have to upgrade it unless there are unexpected developments; in 2012 I went with 16 gigs; this year I'll go 32). I'll usually refresh my disks/SSDs every 3 years, and GPU every 2-3 years, depending on if the games I'm playing are starting to chug at the resolutions I want to play at. Full refresh cycle seems to be 6-7 years right now (I almost upgraded last year, and will definitely upgrade this year).
Depends on your usage, and your budget.
So for this:
...it depends on what games you're playing, what your current CPU is, and how much RAM you have. edit: or for that matter if you have an SSD or if you're still relying on spinning rust for your main drive. If you're playing Into the Breach, it doesn't much matter what you're using. If you're playing Battlefield, you definitely need a GPU upgrade, and you could probably use a CPU and RAM one to go with it, at which point you might consider just replacing everything.
Also, I'm not sure how much more I can get out of the CPU if I overclock it.
3DS: 0473-8507-2652
Switch: SW-5185-4991-5118
PSN: AbEntropy
If you can increase the resolution without changing your FPS, you're CPU limited. If you can't, you're GPU limited. But again, how bad things are is going to depend on the game you're playing. Games like Arma or SWTOR are all about the single-threaded CPU performance. Games like Civ 6 or Cities: Skylines will chew up as many cores as you want when you get to lategame. Turn up the graphics on Deus Ex: Mankind Divided, and you can make all but the beefiest graphics cards cry. Games like Battlefield are a blend of the two, requiring both good CPU and GPU performance if you want to crank the quality.
I'm assuming you're not RAM limited, because if you are, that's the first thing to fix.
So: what kind of CPU do you have? How much RAM do you have? And are you using an SSD as your primary disk?
edit: And perhaps most importantly, what's your budget?
Origin ID: Discgolfer27
Untappd ID: Discgolfer1981
i5-3570k, 8GB, no.
And yeah, this is an old rig. The only parts newer than 2013 or so are replacements (PSU burnout, HDD failure).
3DS: 0473-8507-2652
Switch: SW-5185-4991-5118
PSN: AbEntropy
You could probably tide yourself over for another couple years if you just upgrade to the beefiest GPU you can afford and another 8 GB of RAM--assuming you've got a PSU capable of powering it.
Or now (or in late summer preferably after Ryzen 3s drop and alter the market price of CPUs) would be a decent. If you do go for the latter, make sure you're pricing out a new PSU. Your old one is pretty old unless you just got it a couple years ago. Those analog components don't last forever.
what's the going market rate for a kidney?
So the 3570k is definitely old at this point, but it's a great chip that usually overclocks really well as long as your cooler is good. It'll still bottleneck modern GPUs, but you've got headroom over a 660 Ti.
So if you're not in a position to invest in a whole new system, I'd suggest this:
1) Overclock your CPU as high as possible, and invest in a good cooler if you don't already have one. Most coolers just need a new bracket for a different motherboard, so getting a good cooler now means you can carry it over to your next build.
2) Go to 16GB of RAM. Used DDR3 is cheap and your whole system will feel smoother, and you'll pick up some frames too.
3) Buy a new GPU. This is also a part that'll easily carry over to a later build. Depending on your needs and budget this is a pretty wide space. If you don't have a ton of money to spend, a GTX 1660 Ti might be a good choice, or if you've got some money to spend, something like an RTX 2070 will last you longer even if your 3570k will be bottlenecking it.
4) Buy an SSD. Really, this would be the biggest quality of life upgrade for your general computing experience. Having your OS and games on an SSD is night and day different to having them on a hard drive. Technically I'd place this over everything else in this list if the first two suggestions weren't so cheap and if your GPU were just a bit newer.
$1500 will bring it up to a good modern standard. $2500 if you're feeling spendy. $5000 will buy you ridiculous power that can drive 4K gaming and is way out there on the price/performance curve. Which isn't to say you shouldn't do it! Just that you don't have to these days.
Edit: also when I say bring my hardware up to standard I mean "toss what I have and start over". My desktop (which I never even bothered unpacking in my last two moves) is over ten years old.
Double edit: basically I need to replace my laptop, buy a high performance low profile windows-capable machine for design work (I'll probably just get a nuc+decent monitor), and if I've got enough left over, a new desktop (that one's low on the priority list though (
I'm still on a 3770k (at 4.4 GHz) from late 2012, and it was starting to struggle with the GTX680 from the same era. I got my hands on a 980Ti recently though (thanks to a forumer!) and now it laughs in the face of the games I play at 1080p.
I'm mostly musing on buying either a new CPU or a new video card. Which would you prioritize? Any changes you might recommend?
(of note: the SSD predates the other components: it was purchased in 2010. I'm relatively unconcerned because Samsung Magician claims the drive health as "good")
Overclock the CPU and get a newer video card.
What I would consider:
Spend roughly $100 on a secondary 1TB SSD to deal with modern big install sizes. Getting great load times on your 20 most played games instead of 3 is a big difference in QoL.
Think about your monitor/GPU situation. Gsync/FreeSync monitors with enough oomph to get the fps are really nice. That high frame rate smoothed may be more noticable than increased resolution. Unfortunately we're not yet in the era of affordable HDR/*sync monitors. You'd probably look at a 2070 for that?
I'm not looking to spend a single penny any time soon, and I don't game, but I watch videos a lot, and I'm curious if my GPU is actually better than onboard with respect to memory and all that? The 950 only has 2GB, but it's dedicated, and DDR5.
Thoughts?
Also I'm going to be grabbing these
Sony MDRXB50APs to replace my headphones, and also to serve as in-ear monitors for my new bass (since I might be practicing at hours where the amp cab isn't really an option)
I don't have any vast processing needs for my home computing setup, generally. I do use my laptop as an on the go work device, but unless I'm in Africa (where net connection can be dicey in any case), that tends to be limited to writing papers and such.
I need to spend a chunk of money because I literally haven't bought any hardware since 2011, and everything I own is dying a slow but unavoidable death. About the only thing I could upgrade cheaply is to swap out my laptop hard drive, but that's only a partial fix for one of its many internal issues. Plus I want to do some home design work for personal projects, but I usually run an all-apple ecosystem, while the software that best suits my needs for robotics CAD is windows only (and boot camp sucks balls). "High performance" in this instance needs to be local, for cad design it's all about the graphics card and CPU.
Until last year I also had a broken down cintiq which crashed every five minutes and I eventually sold, so it would be nice to get a replacement.
So none of these things will be overly expensive individually, except a decent laptop. I'm just constantly about 30s away from only having access to pen and paper.
I had the thought earlier tonight that I wanted to update my 'dev console' to include things like variable values. I dug around a little and found sprintf, and my first idea following was
int a = 65;
char test[] = { sprintf(test, "%d", a) };
printf("%s", test);
And I was initially disappointed because it put out [an unprintable character].
I had someone take a look at it and he was just amazed it compiled. We ran a couple of tests, couldn't make it work. A few hours later I pulled up a reference site and felt extremely stupid: for no good reason I had been assuming the function returned the string. In hindsight this makes no sense at all and I have no idea why I thought it.
once I saw the test program, I plugged in 1234567 for a, and was rewarded with a BEL upon executing the program.
I'm geeking out a little about this.
I am also surprised it compiles, though you really should pay attention to your warnings! And I'm also not convinced you aren't scribbling over your stack by doing it that way.
Programming thread is this way.
If you can bear to hold on for 3 months, it really is worth seeing why the next set of Ryzens will deliver in July IMO.
under moes tech tavern within games and technology. As far as sentiments around C, i'll just point you here:
https://insights.stackoverflow.com/survey/2019#technology-_-most-loved-dreaded-and-wanted-languages
Just look at dreaded.
Working in VBA baybee!
(with something that small I hadn't considered including the -Wall flag, but doing so now I see "warning: narrowing conversion of 'sprintf(((char*)(& test)), ((const char*)" %d"), a)' from 'int' to 'char' inside { } is ill-formed in C++11 [-Wnarrowing]"
it, uh, also doesn't work in context. It 'works' when that's the entire program, but, yeah. Dropping it into the larger program does strange and terrible things. But amusing!
And also frustrating, you know, because I've been tooling around with c and c++ for decades (as a hobby) and when I intuited that line? I felt like like I'd finally put the pieces together. It felt like something I'd see in the K&R book, a wizard spell.
I take only minor umbrage to the inferring point that one cannot write reliable code quickly in C.
I like ARMs RealView compiler’s attribute extension where we can specify a specific section directly in the code from a common memory map include instead of having to assign base addresses in the linker script. Honestly it makes defining a typedef for memory mapped registers sooo nice.
Pfft, binary or go home!
I am much happier working in higher level languages that handle it for me.
3DS: 0473-8507-2652
Switch: SW-5185-4991-5118
PSN: AbEntropy
this was good, and it separated the strong from the weak
now, there's a garbage collector, but there's also still a very strict memory allocation limit which cannot be defined for the developer in advance, other than that it exists, and when you break it, your app will hard exit immediately
if something is leaking in my app now, i must perform lengthy Rituals to figure out which stupid system framework has decided to mess up the garbage collector
you cannot even call dealloc on an Objective-C object anymore. It's explicitly not allowed. All hail the garbage collector! My personal C'thulu
don't get me wrong, i like managed code. but only when it's running on a computer with 32GB of RAM. meanwhile here I am in 2019 writing garbage collected code for a device which on a good day might give me 80MB of RAM
High excuse me have you heard of static allocation
oh, that's not a permitted use case? HAHA SUCKS TO BE YOU
I'm writing software to run on server environments though, so no thanks.
3DS: 0473-8507-2652
Switch: SW-5185-4991-5118
PSN: AbEntropy
I still maintain that the only reason you should use C is because you don't have a C++11 or greater compiler.
...or because you want to be able to hire C programmers and have them be productive immediately. *sigh*.