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
more falafel please
Feb 26, 2005

forums poster

leper khan posted:

Their visual scripting language compiles to native. Not sure if it uses C++ as an intermediary or just dumps an AST for llvm.

A subset of users believe this makes the visual scripting fast, because it's C++. That's more a failure of imagination on unreal users than a horror of the engine though. The same set usually in the same sentence talk about how that makes it faster than unity which transpiles the generated IL to C++ to compile with llvm.

Last I looked at unreal it was insane in a lot of ways, but different from the ways unity is insane.

Lol, blueprint doesn't compile to native, it compiles to UnrealScript bytecode. UnrealScript was the scripting language they used through UE3, and it's not even close to native. Blueprint is useful for simple stuff (designers rigging up level triggers, etc) but in a full production game you don't want any tight loops in Blueprint, because it's very slow.

Deffon posted:

Haven't used UE that much, but it seems like they still have their homegrown marker macros and generator to implement reflection in C++ (similar to QT?)
https://www.unrealengine.com/en-US/blog/unreal-property-system-reflection

Yeah, it's this. UObject-derived classes have reflection macros. This also makes it easy to have Actor properties be replicated in network games. It's lightweight enough at runtime, and since UE4 is so popular, tools like Visual Assist understand unreal macros.

Adbot
ADBOT LOVES YOU

more falafel please
Feb 26, 2005

forums poster

Wait, in which language is sizeof('a') not 1?

more falafel please
Feb 26, 2005

forums poster

Volte posted:

In C, a char literal is an integer, not a char.

Hmm. I knew C lets you do int literals expressed as multiple characters (like 'AAAA' is 0x41414141) but I didn't realize that all char literals were ints.

Pre-OSX Mac APIs used these a ton, for file type/creator codes for file metadata and resource identifiers.

more falafel please
Feb 26, 2005

forums poster

Wipfmetz posted:

Didn't know about those. They sound like a neat way to define constant or enum values, but alas, non-standard. And non-standard scares me.

I didn't realize they were nonstandard, but byte order alone is justification enough for them not to be. Again, the only example I have of using them was from pre-OS X MacOS, which was designed to be programmed in Pascal or 68k assembly, with C as an afterthought.

more falafel please
Feb 26, 2005

forums poster

shame on an IGA posted:

Well even the giants too in the case of Meta/Alphabet

say why hasn't anyone demanded FAANG be updated to MAAAN yet

It ignores Alphabet but I've heard MANGA

more falafel please
Feb 26, 2005

forums poster

ToxicFrog posted:

Holy poo poo, where I work checking in something that increases serving latency by 0.1ms is a Big loving Deal

I can't use the current profiling solution to compare two implementations of a thing because using it adds ~1ms over 10,000 iterations and that's too much noise for the data to be useful

more falafel please
Feb 26, 2005

forums poster

I don't do a frontend webdev, but I guess I thought jQuery was the basis for every frontend framework that's obsolete 9 months after release.

more falafel please
Feb 26, 2005

forums poster

more falafel please posted:

I don't do a frontend webdev, but I guess I thought jQuery was the basis for every frontend framework that's obsolete 9 months after release.

Don't sign your posts

more falafel please
Feb 26, 2005

forums poster

If you're planning on console and use any online features (including cloud saves, achievements, etc, plenty of features that are in single player games) you'll likely need some kind of login screen, at least for first run. And you'll definitely need some UI element that shows the user which account they're signed in as, with the opportunity to switch users, before any profile operations are done.

more falafel please
Feb 26, 2005

forums poster

You can, however, eliminate an actual login flow *most of the time*. At first run you'll need to create/link a publisher account, but that might be done silently and unlinked to an email. You still need the EULA flow, though. You can also pre-populate the details if the first-party account is already linked to a publisher account.

more falafel please
Feb 26, 2005

forums poster

dougdrums posted:

I’m always really :colbert: about this until some time later when I have to define a function pointer that returns a pointer.

I’ve gotten to the point where I just typedef everything to make Linus sad.

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.

more falafel please
Feb 26, 2005

forums poster

cheetah7071 posted:

I especially like the syntax for calling a member function that's been passed as a pointer

code:
class A {
public:
	void memberFunction(int x) {}
};

//elsewhere in the code
void(A::*)(int) func = &A::memberFunction;

//even later
A a;
(a.*func)(5);

I especially do not like it.

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.

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

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

more falafel please
Feb 26, 2005

forums poster

lifg posted:

Back when Perl was popular I heard someone say, “Perl is a great second language to learn,” and I think that’s true for a lot of high level languages today.

But maybe there should be different intro classes for people who just want a taste of programming, from those for comp sci majors.

When I was in high school/college, just loving around and learning about UNIX and not needing to actually write maintainable code, Perl felt so freeing. My previous experience was with BASIC, then C++, then assembly, then C. Perl opened up a world of possibilities because it supports basically every possible programming paradigm, so you get to see and gently caress around with a lot of different approaches to programming.

Now though, I couldn't imagine wanting to write Perl for a living.

more falafel please
Feb 26, 2005

forums poster

I've never worked with JavaScript and I'm sure it's flawed as hell, but I've worked with God's Own Language (C++) for 20 years and it's a disaster. We figured out a long time ago how to mitigate the disaster, and I'd have to assume that JavaScript programmers have done the same

more falafel please
Feb 26, 2005

forums poster

il2cpp probably does a lot of optimizations in the C++ it emits in order to gently persuade the compiler to do optimizations such as unrolling loops if it makes sense. I wouldn't be surprised if Unity knows what compiler it's going to be ultimately using and can specifically target that. I've only used it with MSVC and clang, but those are both pretty knowable and have directives that can aid optimization.

more falafel please
Feb 26, 2005

forums poster

SupSuper posted:

You can't change the language, you can only format it.

Get a load of this person who doesn't even use Perl

more falafel please
Feb 26, 2005

forums poster

OddObserver posted:

I am embarrassed I didn't notice the divisibility by 9 at a glance. It's rather guaranteed by the way the number was chosen.

it's divisible by 3 even

without any context I'm gonna assume it's a sentinel value and whatever it's initialized to is arbitrary but that's maybe giving too much credit

more falafel please
Feb 26, 2005

forums poster

If you wanna get mad about nondescriptive dll names in common use, look no further than libeay32.dll

it's OpenSSL, of course

more falafel please
Feb 26, 2005

forums poster

EoRaptor posted:

I don't think Powershell has chosen the best names for a lot of its commands, but I'll take it versus the previous scripting situation on Windows. I don't see MS changing course, so we are stuck with verb-noun for the foreseeable future unless you want to call dotNET directly.

My scripting solution for windows has been "you have python installed, right?" for over a decade

more falafel please
Feb 26, 2005

forums poster

DELETE CASCADE posted:

i wrote a pure posix sh csv parser once, just to prove i could do it

I wrote a (toy) lisp interpreter in smalltalk once but you don't see me braggin

Actually, yeah you do, that kicked rear end

more falafel please
Feb 26, 2005

forums poster

the horrors of perl can be summed up by

JawnV6 posted:

redefining $\, the newline character,

more falafel please
Feb 26, 2005

forums poster

I was a teenage perl kid, and now my null checks are if (ptr == nullptr) because it makes my meaning explicit and adds some amount of typesafety

honestly I can't imagine working in a dynamically typed language for a living. I barely trust my code after it's compiled, letting the compiler yell at me about my many shortcomings is the right move

more falafel please
Feb 26, 2005

forums poster

I'm glad that in the modern C++ codebases I've had exposure to, auto and decltype are only really ever used either idiomatically (no need to specify what the type of container.begin() is) or to simplify when you're already specifying the type one or more times in the declaration.

more falafel please
Feb 26, 2005

forums poster

Rottbott posted:

Auto is never as bad as this anyway, because the variable still has a type, and your IDE can tell you what it is.

It can still bite you in the rear end if you change, say, the return type of a function that's initializing an auto. Harder to do, but still doable.

more falafel please
Feb 26, 2005

forums poster

Foxfire_ posted:

I think there's a better argument that every one argument constructor should be marked explicit and not be participating in implicit conversions unless you're absolutely sure you want that

Agreed.

This post brought to you by the time we found a bug caused by a library-internal array type (havok's hkArray) being initialized with an engine-internal bool type (UE3's UBOOL, which was typedef'd to signed int).

more falafel please
Feb 26, 2005

forums poster

ultrafilter posted:

https://twitter.com/defunkt/status/1719421402867204537
Thread

Not strictly coding related, but it absolutely goes here.

I have a coworker who once forgot to check his Perforce environment variables before doing a p4 obliterate on a no-longer-needed depot. We had a depot called rolling_vendor that periodically took merges from Epic's UE3 depot, so that we always had latest to compare against locally. The central tech group had started running their own rolling_vendor, so we didn't need ours anymore. Unfortunately they had just cloned the entire configuration from ours, including permissions, so my coworker apparently had full admin rights, and the obliterate went through just fine. At least it was relatively easy to get back, because there weren't any backups.

He has an Irish last name that starts with an O', so he's been known as O'Bliterate for the last... 17 years

more falafel please
Feb 26, 2005

forums poster

pokeyman posted:

JavaScript is just a Scheme with unnecessary syntax clutter so this checks out!

the more features are introduced to a language the more it becomes a lisp

more falafel please
Feb 26, 2005

forums poster

In college I interviewed for an internship at Microsoft (they'd bring a bunch of recruiters and engineers on campus once a year and interview basically every 3rd/4th year CS student) and I was definitely in my smarmy-Unix-kid phase, which intersected heavily with my any-program-worth-writing-can-be-a-Perl-oneliner phase

My interview was being done by a recruiter, not an engineer, but they still asked technical questions. One was "write a function to reverse the order of words in a string". I had done plenty of that type of exercise in school, and I was well-versed in C and to a lesser extent C++, so I could have done a straightforward recursive or iterative algorithm, but the interviewer said I could use whatever language I wanted, and I wanted to show everyone just how fuckin' clever I was so I just wrote "join reverse split;" on the whiteboard and then refused to elaborate.

I didn't get the internship.

more falafel please
Feb 26, 2005

forums poster

Soricidus posted:

Well obviously not, you forgot the separator argument for join

goddamnit larry how does it not default to $_ (probably because it's in list context and all the args get collapsed, once again goddamnit larry)

Adbot
ADBOT LOVES YOU

more falafel please
Feb 26, 2005

forums poster

A million characters is probably pushing it on account of average line length of source being pretty low (whitespace lines, brackets, etc), but I've definitely worked in (non-generated) files that were 50k+ lines, so I could see that biting you. It's funny that it's exactly 1,000,000 and not 2^20 though.

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