Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Presto
Nov 22, 2002

Keep calm and Harry on.
Now do ->* (which is overloadable, incidentally).

Adbot
ADBOT LOVES YOU

cheetah7071
Oct 20, 2010

honk honk
College Slice

Presto posted:

Now do ->* (which is overloadable, incidentally).

it sort of has to be overloadable for smart pointers, if nothing else

Nalin
Sep 29, 2007

Hair Elf

more falafel please posted:

I've been writing C++ since 2001 and professionally since 2006, and I long ago just resigned myself to the fact that I'm never going to remember function pointer syntax, so I google it or copy/paste an existing typedef.

Come, let the love of std::function embrace you.

Xarn
Jun 26, 2015
no

feedmegin
Jul 30, 2008

Rea posted:

inexplicably had us learn MIPS assembly,

Not that inexplicable for a low level course. MIPS has been used for teaching assembly for ages because it's a nice, simple, clear and basic RISC without many bells and whistles. These days I would probably prefer 64-bit ARM but a) that's a recent thing and b) university courses move slowly. You probably don't want your first assembler experience to be x86.

Or if your complaint is learning any assembly - if you are working at a low level, it is a good idea to know what your C is actually going to end up being once it comes out the other end of the compiler even if you aren't hand writing assembly (and if you're doing a lot of kinds of embedded work you may be doing that and you will definitely find it useful to be able to read it).

feedmegin fucked around with this message at 12:13 on Oct 6, 2022

Rea
Apr 5, 2011

Komi-san won.

feedmegin posted:

Not that inexplicable for a low level course. MIPS has been used for teaching assembly for ages because it's a nice, simple, clear and basic RISC without many bells and whistles. These days I would probably prefer 64-bit ARM but a) that's a recent thing and b) university courses move slowly. You probably don't want your first assembler experience to be x86.

Or if your complaint is learning any assembly - if you are working at a low level, it is a good idea to know what your C is actually going to end up being once it comes out the other end of the compiler even if you aren't hand writing assembly (and if you're doing a lot of kinds of embedded work you may be doing that and you will definitely find it useful to be able to read it).

Nah, I think learning any ASM at all was a good idea--like you said, knowing what our code actually compiles down to is valuable. It was just very strange to me to learn MIPS in specific, in 2017. In hindsight I think it's partly what you're saying, partly that SPIM made it easy to actually execute our work.

CPColin
Sep 9, 2003

Big ol' smile.
My assembly class in 2003 or so used some janky 68000 emulator that could only run on the lab computers and crashed not-infrequently. It was a real throwback to the days of writing out programs on paper first before touching a keyboard. Pleasant syntax though!

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


My first intro to assembly was a carefully chosen subset of the x86 instruction set. It's not that bad if you ignore most of what it has to offer.

Volguus
Mar 3, 2009
8086 didn't have that many instructions, did it? We did learn its assembler in 1998 or so at university and we turned out fiiiine. Adding the 8087 co-processor wasn't that bad either.

more falafel please
Feb 26, 2005

forums poster

My first experience with assembly was learning about the other, secret graphing calculator language that was how you made the good games.

Learning about assembly on the Z80 while using weird reverse-engineered headers and accidentally learning about hexadecimal at the same time was a bit weird.

I had binders of printed source for ZTetris/Galaxian/etc.

feedmegin
Jul 30, 2008

Volguus posted:

8086 didn't have that many instructions, did it? We did learn its assembler in 1998 or so at university and we turned out fiiiine. Adding the 8087 co-processor wasn't that bad either.

Sure, but it's a bit of a poo poo way to learn assembly in 2022? That thing is long obsolete and doesn't map too closely onto how you write modern x86 let alone anything else.

champagne posting
Apr 5, 2006

YOU ARE A BRAIN
IN A BUNKER

With my extremely limited exposure to assembly programming: Wouldn't arm be the place to start? Limited instructions, pretty widespread

OddObserver
Apr 3, 2009

ultrafilter posted:

My first intro to assembly was a carefully chosen subset of the x86 instruction set. It's not that bad if you ignore most of what it has to offer.

It also happens that most code generated by compiling integer code also uses a limited subset, too. No reasons to touch the MMX mnemonics in particular unless you're trying to summon the elder gods.

Bruegels Fuckbooks
Sep 14, 2004

Now, listen - I know the two of you are very different from each other in a lot of ways, but you have to understand that as far as Grandpa's concerned, you're both pieces of shit! Yeah. I can prove it mathematically.
I learned x86 assembly when I was at summer camp. The closest I got to writing a game was getting a square to wrap around the screen when you pressed the arrow keys. Inexplicably, I found assembly boring and was far more interested in playing the unreal tournament 99 beta. Not much has changed since then.

feedmegin
Jul 30, 2008

champagne posting posted:

With my extremely limited exposure to assembly programming: Wouldn't arm be the place to start? Limited instructions, pretty widespread

32 bit has some oddities (conditionally executed everything, barrel shifter) which were removed for 64 bit. And that's classic in which case MIPS works just as well). I wouldn't start people out on Thumb.

Athas
Aug 6, 2007

fuck that joker
I just spent a couple of weeks teaching assembly to second year students. We used RISC-V. Quite nice and simple, and decent tools and resources are available. It would be tedious to write big things by hand because it is so RISCy, but that's not a problem for teaching.

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed
The two big advantages of MIPS over a x86 subset for an intro to asm is that it has 32 registers and you avoid the whole at&t vs intel syntax thing.

RISC-V does seem like it's probably the way to go these days but there isn't exactly a pressing need to switch over.

Ranzear
Jul 25, 2013

more falafel please posted:

My first experience with assembly was learning about the other, secret graphing calculator language that was how you made the good games.

I had an 85, so loading a patched backup (over a custom LPT to 2.5mm cable for lack of a serial port) to add an assembly program launcher to the custom menu was my first real bit of hacking. I think I was 11.

Still wild that they just made it a feature on later calculators.

more falafel please
Feb 26, 2005

forums poster

Ranzear posted:

I had an 85, so loading a patched backup (over a custom LPT to 2.5mm cable for lack of a serial port) to add an assembly program launcher to the custom menu was my first real bit of hacking. I think I was 11.

Still wild that they just made it a feature on later calculators.

last time we moved my partner tried to get me to get rid of at least some of my calculators (i only have an 82, 83+, 86, and 89, it's nothing crazy or anything) but i absolutely refused

the 89 was awesome cause it was a 68k and you could just write C for it

LongSack
Jan 17, 2003

more falafel please posted:

My first experience with assembly was learning about the other, secret graphing calculator language that was how you made the good games.

Learning about assembly on the Z80 while using weird reverse-engineered headers and accidentally learning about hexadecimal at the same time was a bit weird.

I had binders of printed source for ZTetris/Galaxian/etc.

Mine was IBM System/360 assembly. There were two teachers for that course, and one of them - inexplicably- did not allow the extended branch mnemonics. So you couldn’t use BGE (branch if greater than or equal to) or BLT (branch if less than), she only permitted the use of BCC (branch on condition code) which took a bit mask like argument to determine whether you were checking less than, greater than, and/or equal to. Made the code far less readable.

Thankfully, I had the other instructor.

zergstain
Dec 15, 2005

CPColin posted:

My assembly class in 2003 or so used some janky 68000 emulator that could only run on the lab computers and crashed not-infrequently. It was a real throwback to the days of writing out programs on paper first before touching a keyboard. Pleasant syntax though!

Mine was 2011/12 and used 68000 on boards with the real chips. Later assignments involved interacting with hardware, like LEDs and poo poo.

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
Our assembly language class used a teaching language with the CPU you were programming for implemented on an FPGA.

Beef
Jul 26, 2004
Our assembly language was SICP chapter 5: programming with register machines

ToxicFrog
Apr 26, 2008


Jabor posted:

Our assembly language class used a teaching language with the CPU you were programming for implemented on an FPGA.

Ours used 68000s, but there was a later course where you had to design a CPU of your own, map it onto an FPGA, and then write programs for it, which was pretty fun.

duck monster
Dec 15, 2004

take boat posted:

well that sucks, I was definitely wrong in asking if moving to project manager would mean he'd managing bureaucracy without power over engineering

how was he being considered for a software eng management role and as a fallback is being moved to hardware engineering? that seems like even more of a horror

The difference is, the head of hardware engineering is the bosses best friend, writes immaculate C in his sleep, is a stickler for process (You kind of have to be with firmware stuff), and has a much less polite toungue than I.

The imposter is dead meat in that environment.

duck monster
Dec 15, 2004

more falafel please posted:

My first experience with assembly was learning about the other, secret graphing calculator language that was how you made the good games.

Learning about assembly on the Z80 while using weird reverse-engineered headers and accidentally learning about hexadecimal at the same time was a bit weird.

I had binders of printed source for ZTetris/Galaxian/etc.

I pretty much learned z80 from a series of 3 articles in Amstrad Action, and I built my own assembler out of basic because I never had a good memory so remembering how to translate mneumonics to bytes just didnt work for me. That said, as kid written code, I suspect most of that would fit under the "coding horror" category.

That shits burnt into my brain. nearly 40 years later I can still more or less read z80 and I can probably with a bit of a refresher, write it too.

My C64 enthusiast friend says the same thing (Although he's *still* hacking away on that gnarly old beast. I havent seen an Amstrad in 20 years, though I've always fancied buying one, just to gently caress about with the old games and show the kids how real "8 bit" games look). Those 8 bit microprocessors where great little things, simple enough for a child to learn it, quite literally.

duck monster fucked around with this message at 03:16 on Oct 11, 2022

wolfman101
Feb 8, 2004

PCXL Fanboy


When the god of bots hands you a god tier MID deck. Thoughts on cuts? Besides the observers which are obviously junk?

more falafel please
Feb 26, 2005

forums poster

wolfman101 posted:



When the god of bots hands you a god tier MID deck. Thoughts on cuts? Besides the observers which are obviously junk?

Gonna guess this is the wrong thread

wolfman101
Feb 8, 2004

PCXL Fanboy

more falafel please posted:

Gonna guess this is the wrong thread

Yes, I think my awful app is posting to wrong threads

NtotheTC
Dec 31, 2007


wolfman101 posted:

Yes, I think my awful app is posting to wrong threads

luckily that does belong here

Falcon2001
Oct 10, 2004

Eat your hamburgers, Apollo.
Pillbug

NtotheTC posted:

luckily that does belong here

MTG Arena is sort of the 'example' end of the coding horror spectrum so I think that it can go here too :p

meanolmrcloud
Apr 5, 2004

rock out with your stock out

Falcon2001 posted:

MTG Arena is sort of the 'example' end of the coding horror spectrum so I think that it can go here too :p

On the one hand, it’s kind of impressive they managed to cram all the interactions into an engine that is consistent and quick, and got the software out the door in something like 1.5 years.

On the other hand, they plum forgot to add any ability to spectate matches in their uh, hopefully budding eSports client or any support for multiplayer whatsoever, their most popular format by far.

senrath
Nov 4, 2009

Look Professor, a destruct switch!


Everything about Arena is a combination of "I can't believe this works as well as it does" and "I can't believe how badly this works/how buggy it is."

lifg
Dec 4, 2000
<this tag left blank>
Muldoon
MTG is Turing complete, somehow, and that is a horror, so it belongs here.

CPColin
Sep 9, 2003

Big ol' smile.
Meanwhile the politician MTG couldn't pass the Turing Test (either side). How ironic.

Hammerite
Mar 9, 2007

And you don't remember what I said here, either, but it was pompous and stupid.
Jade Ear Joe
My only exposure to any kind of assembly has been trying my hand at debugging through a SNES rom in an emulator, to try to figure out what it was doing with some of the data in the ROM that I knew was level data. (I managed to figure out that the code was decompressing the data, which was compressed using a variation on the LZ-77 compression scheme)

(I was thinking of making something to allow you to randomise aspects of the rom but I never got anywhere with it, because these days I can't stick with a personal project for any length of time without losing interest)

JawnV6
Jul 4, 2004

So hot ...

meanolmrcloud posted:

On the other hand, they plum forgot to add any ability to spectate matches in their uh, hopefully budding eSports client or any support for multiplayer whatsoever, their most popular format by far.
No spectating is such a killer, especially coming off Hearthstone where it's really slick, easy to hop on and watch a friend. Is there an official line where they tell folks about the top notch twitch integration and try to act like that's equivalent?

Then there's all these little UI things that work really well, because if it's in the core game they have to. I recently had to use the UI to cancel someone's attempt to cancel my cancel spell, it showed the entire stack as it was, with my cards closer to me, theirs closer to them, and asked which one I was trying to cancel. I had a spell that would exile something from a graveyard, someone's deck was picking stuff from the graveyard to go back to the hand/library, when I'd trigger my ability it would highlight the card they were trying to pluck and made that default choice extremely easy to input. There's weird corners like that where they definitely had the right folks solving it.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

namlosh posted:

While I’m on a rant, c++ using << and >> operators in iostream in every tutorial is ridiculous. Like, let me put a super esoteric, advanced concept in front of people just learning the language. That won’t cause them to think it’s just magic lol

I cannot emphasize enough how damaging this was for my attempts at learning programming as a child.

duck monster posted:

as kid written code, I suspect most of that would fit under the "coding horror" category.

Buddy, if you aren't looking at code you wrote as an adult several years ago and thinking "what absolute derp thought this was acceptable" before you realize it was you, either you're not growing or you're much better than any of us.

Zopotantor
Feb 24, 2013

...und ist er drin dann lassen wir ihn niemals wieder raus...

Volmarias posted:

I cannot emphasize enough how damaging this was for my attempts at learning programming as a child.

I/O is confusing in any language, though. I remember that when I first became interested in computers (before actually having access to any), I read the Pascal user manual and was very confused about the write function, because how would you declare that in Pascal syntax? You can't.

Adbot
ADBOT LOVES YOU

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


If you're learning programming you pretty much have to treat some things as just magic, and C++'s >> and << are easy to use when you're just starting out.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply