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
champagne posting
Apr 5, 2006

YOU ARE A BRAIN
IN A BUNKER

Shaggar posted:

why are you idiots still using plangs?

because the alternative is using aspnet core which is awful to configure

Adbot
ADBOT LOVES YOU

TheFluff
Dec 13, 2006

FRIENDS, LISTEN TO ME
I AM A SEAGULL
OF WEALTH AND TASTE
does go count as a plang?

Shaggar
Apr 26, 2006

champagne posting posted:

because the alternative is using aspnet core which is awful to configure

dotnet core and aspnet core are both insanely easy to configure.


TheFluff posted:

does go count as a plang?

yes

Powerful Two-Hander
Mar 10, 2004

Mods please change my name to "Tooter Skeleton" TIA.


apparently nobody thought to check why this script execution time was so high, turns out it had a load of unscoped update statements so was updating every single record in a big table in each iteration, :waycool:

Good job I insisted on running it myself on a clean copy before it was deployed and thought "hmm, this smells wrong" otherwise that would have hosed us completely when it was run.

also check you expected vs actual rowcounts people jfc

CarForumPoster
Jun 26, 2013

⚡POWER⚡

abigserve posted:

Django was astonishingly bad in terms of being super duper prescriptive and then the end result being so insanely underwhelming. It's very rare I bounce off a framework like that, I can usually find the upside to it but I built one thing in Django and will never do it again

I like Django for some things.

If a web app has these requirements:
-Website with a front end that can be edited without redeploying.
-Database
-CMS w/Blog editable by non-technical, authenticated users
-Authentication with >1 type of user
-REST API
-Deploys to Heroku or AWS Lambda
-Nice to have: Can run python code written by not-web-devs on backend.

Django + Django CMS + Django Rest Framework gets you there and deployed in maybe 10 hours of work, not inclusive of template tweaking and what not. I find that use case happens decently often. When I need just a SPA w/a front end I prefer Plotly Dash and for just an API to run some code I prefer deploying directly to AWS Lambda or FastAPI if I need it's extra features.

Thanks for coming to my TED talk.

zero knowledge
Apr 27, 2008

TheFluff posted:

does go count as a plang?

go is just Java with AOT

Qtotonibudinibudet
Nov 7, 2011



Omich poluyobok, skazhi ty narkoman? ya prosto tozhe gde to tam zhivu, mogli by vmeste uyobyvat' narkotiki

mystes posted:

Is the term "opinionated" already passe?

<smugly speaks in rails> "omakase"

champagne posting
Apr 5, 2006

YOU ARE A BRAIN
IN A BUNKER

Shaggar posted:

dotnet core and aspnet core are both insanely easy to configure.

yes

easy yes, if you like pitfalls

Soricidus
Oct 21, 2010
freedom-hating statist shill

Spazmo posted:

go is just Java with AOT

please don’t insult java like that.

go was invented for people google thought were too incompetent to handle java

Destroyenator
Dec 27, 2004

Don't ask me lady, I live in beer

Carthag Tuek posted:

yeah gently caress django lol

I'm gonna try messing with fastapi in a branch but I don't have high hopes

would be keen to hear how it goes vs sanic

Shaggar
Apr 26, 2006

champagne posting posted:

easy yes, if you like pitfalls

like what?

FlapYoJacks
Feb 12, 2009

Soricidus posted:

please dont insult java like that.

go was invented for people google thought were too incompetent to handle java

c++ :eng101:

zero knowledge
Apr 27, 2008

is c++, even with RAII and all the post 2010 stuff, really comparable to a GC language? is that really an apples to apples kinda comparison?

I will say that core language aside, Go has an edge on either C++ or Java in that its builtin libraries tend to be better, or at least provide a more obvious right answer. I'll take anything under package `crypto` over java.security.Provider any day.

FlapYoJacks
Feb 12, 2009
C++ >= 14 is very good. The biggest issue with C++ is that there is SO MUCH to learn. At the point it not only gives you a loaded gun, it points it at your foot and puts your finger on the trigger.

Sapozhnik
Jan 2, 2005

Nap Ghost

DoomTrainPhD posted:

C++ >= 14 is very good.

No. You can't take a bad pile of poo poo and turn it into a good pile of poo poo by just piling more poo poo on top of the existing poo poo.

I have not had to professionally care about C++ since 2011, when I worked with plain old C++03, and god willing I never will again.

FlapYoJacks
Feb 12, 2009

Sapozhnik posted:

No. You can't take a bad pile of poo poo and turn it into a good pile of poo poo by just piling more poo poo on top of the existing poo poo.

I have not had to professionally care about C++ since 2011, when I worked with plain old C++03, and god willing I never will again.

Oh I agree, C++ is not great, but what other alternatives are there for embedded if you want compiled code? Go? Rust? They all have their warts.

hbag
Feb 13, 2021

i want to make a lovely little browser game but alas HTML5, obviously, relies on javascript and i only know python

Sapozhnik
Jan 2, 2005

Nap Ghost

DoomTrainPhD posted:

Oh I agree, C++ is not great, but what other alternatives are there for embedded if you want compiled code? Go? Rust? They all have their warts.

Go and Rust have warts but C++ is a tumor in its entirety.

I want to hate Go but a lot of useful and seemingly secure software is written in it so that's got to count for something.

12 rats tied together
Sep 7, 2006

hbag posted:

i want to make a lovely little browser game but alas HTML5, obviously, relies on javascript and i only know python

if you only know python, learning javascript will be good for you

you should try it. post in either of the game dev threads if you need help with something

shoeberto
Jun 13, 2020

which way to the MACHINES?

hbag posted:

i want to make a lovely little browser game but alas HTML5, obviously, relies on javascript and i only know python

Depending on what you wanna accomplish, it could be worth learning Godot. Its built-in scripting language is Python-ish and it has solid HTML5 exports.

If you wanna learn JS and do more of the heavy lifting yourself though that's a different deal.

Sagacity
May 2, 2003
Hopefully my epitaph will be funnier than my custom title.

DoomTrainPhD posted:

Oh I agree, C++ is not great, but what other alternatives are there for embedded if you want compiled code? Go? Rust? They all have their warts.
Like Sapozhnik I used to be a professional C++ toucher and I'm extremely glad I don't have to deal with that poo poo anymore

I'm using Rust to build some non-trivial side projects and it's been a joy to work with. It definitely has its warts, but at no point did I have to spend several days working around esoteric linking issues for a third-party library or chase some annoying memory bug because I didn't use the right one of eight ways of initialization

Sagacity fucked around with this message at 21:11 on Aug 20, 2021

cool av
Mar 2, 2013

Shaggar posted:

like what?

kestrel might fit here in that it’s close-ish to being a production-ready web server but yet very much not a production-ready web server. maybe they should have made it one or taken out all the features that could trick you into thinking it is.

and then nginx config is loaded with pitfalls.

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

Spazmo posted:

is c++, even with RAII and all the post 2010 stuff, really comparable to a GC language? is that really an apples to apples kinda comparison?

reference counting is garbage collection, so yes if you use "smart" pointers

Xarn
Jun 26, 2015
If your software went C++ -> Go/Java/C# and the migration went fine, you probably shouldn't have been using C++ in the first place.

Rust is good tho.

Presto
Nov 22, 2002

Keep calm and Harry on.

Sapozhnik posted:

Go and Rust have warts but C++ is a tumor in its entirety.
I'm an old C programmer, and C++ is fine now. Except for templates. Templates are still stupid.

Shaggar
Apr 26, 2006

cool av posted:

kestrel might fit here in that it’s close-ish to being a production-ready web server but yet very much not a production-ready web server. maybe they should have made it one or taken out all the features that could trick you into thinking it is.

and then nginx config is loaded with pitfalls.

oh. I don't use free operating systems so I've never had a problem with it

zero knowledge
Apr 27, 2008

pokeyman posted:

reference counting is garbage collection, so yes if you use "smart" pointers

I think your definition of GC is valid but there's still a substantial difference between a stop-the-world garbage collector like Go's vs. RC and the deterministic object destruction it permits (_permits_ not _guarantees_). Also the difference between the strict control over allocations you get in C++ or Rust vs. Go moving stuff between the stack and heap whenever it feels like it.

Captain Pike
Jul 29, 2003

hbag posted:

i want to make a lovely little browser game but alas HTML5, obviously, relies on javascript and i only know python

TypeScript is great for browser games.

champagne posting
Apr 5, 2006

YOU ARE A BRAIN
IN A BUNKER

Shaggar posted:

oh. I don't use free operating systems so I've never had a problem with it

but they’re all free

abraham linksys
Sep 6, 2010

:darksouls:
ive built some js games and it's fun but the single-threaded nature of it all means you can run up against performance issues basically immediately and i think thats kind of a bummer

maybe you could somehow use web workers for doing physics or w/e but i assume there's too much overhead passing data back and forth for that to work at 60fps

FlapYoJacks
Feb 12, 2009

champagne posting posted:

but theyre all free

He's on MacOS 9.

Shaggar
Apr 26, 2006

champagne posting posted:

but they’re all free

windows isnt free

CarForumPoster
Jun 26, 2013

⚡POWER⚡

Shaggar posted:

windows isnt free

if you eBay some pro keys from the UAE it’s close

duz
Jul 11, 2005

Come on Ilhan, lets go bag us a shitpost


abraham linksys posted:

ive built some js games and it's fun but the single-threaded nature of it all means you can run up against performance issues basically immediately and i think thats kind of a bummer

maybe you could somehow use web workers for doing physics or w/e but i assume there's too much overhead passing data back and forth for that to work at 60fps

i did the emulator101 project in a webworker and it worked well enough, maybe not the best example cause space invaders is so basic, but you can do a lot

Bloody
Mar 3, 2013

DoomTrainPhD posted:

Oh I agree, C++ is not great, but what other alternatives are there for embedded if you want compiled code? Go? Rust? They all have their warts.

i would use rust without giving it a second thought. there is no meaningful comparison here lol

abraham linksys
Sep 6, 2010

:darksouls:

duz posted:

i did the emulator101 project in a webworker and it worked well enough, maybe not the best example cause space invaders is so basic, but you can do a lot

did the worker do the canvas drawing and send that image to the main thread? i guess what im imagining is main thread drawing logic and the worker doing everything else but needing to pass the game state for drawing back to the main thread seems maybe expensive, but i have no idea how this stuff works tbh

also dont know how you avoid garbage collection pauses that cause frame drops without getting into weird poo poo like object pools and i can find very little reference material for this kind of thing online; by the time anyones asking questions like that on stack overflow or w/e the responses are all just "have you tried not using js"

duz
Jul 11, 2005

Come on Ilhan, lets go bag us a shitpost


mostly, the worker was the 8080 cpu and the main thread would send interrupts for the io and request memory dumps so it could draw the screen
since the refresh rate is low enough on space invaders i didn't have any issues just drawing it live from memory in the main thread but it would have been simple to draw it in the worker and send the rendered image back to the main thread
never got to the point i needed to worry about garbage collection

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
probably an emulator 101 project isn't going to involve a lot of object churn, unless you're going out of your way to do things wrong.

12 rats tied together
Sep 7, 2006

it's a great platform for making 2d games or simple stuff. i have a project that animates many tens thousands of objects at 144 fps without issue, but, the only thing the javascript part of the codebase does is listen for network traffic and animate objects. the hard work is done server side

bulk creation of new objects is expensive/bad but that's true for most things you would run a game on

Adbot
ADBOT LOVES YOU

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed

Spazmo posted:

I think your definition of GC is valid but there's still a substantial difference between a stop-the-world garbage collector like Go's vs. RC and the deterministic object destruction it permits (_permits_ not _guarantees_). Also the difference between the strict control over allocations you get in C++ or Rust vs. Go moving stuff between the stack and heap whenever it feels like it.

colloquially programmers tend to use gc to specifically refer to mark-and-sweep gc, but that's not what cs literature does and it's a definition that tends to break down quickly. i blame java. it made a particular set of tradeoffs (no manual deallocation of memory, no deterministic destruction, you don't have to care about cycles, object relocation is possible) and was well known as being a gc language, so people assumed that all of those were part of the definition of gc rather than just the first.

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