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.
 
  • Locked thread
Arcsech
Aug 5, 2008

FAT32 SHAMER posted:

speaking of writing apps in meme languages, my coworker keeps trying to get us to write android apps in react native and my gut reaction is to run away screaming

how terrible is react native

havent used it but i mean, javascript is awful, but react is the least bad javascript thing, so it's probably pretty bad but manageably so

unlike, say, literally anything written in groovy

Adbot
ADBOT LOVES YOU

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
computer doesn't know poo poo about bits and bytes, it's all voltage levels in specific patterns of doped semiconductor

turns out abstractions like "digital logic" are pretty useful!

Sapozhnik
Jan 2, 2005

Nap Ghost
i want react not-native, can i get that

just a react library that renders a native-ish looking ui using plain old html5

closest thing i've found is something called framework7 which has a lovely vue wrapper which is auto-converted into a lovely react wrapper. as long as i hold my nose and try to ignore all the layers of crap underpinning it all it seems to work okayish

i really don't understand why vue is so popular, there is literally absolutely nothing new or interesting about it and it looks for all the world like a piece of MVCrap from the pre-react world

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost

Sapozhnik posted:

i want react not-native, can i get that

just a react library that renders a native-ish looking ui using plain old html5

closest thing i've found is something called framework7 which has a lovely vue wrapper which is auto-converted into a lovely react wrapper. as long as i hold my nose and try to ignore all the layers of crap underpinning it all it seems to work okayish

i really don't understand why vue is so popular, there is literally absolutely nothing new or interesting about it and it looks for all the world like a piece of MVCrap from the pre-react world

react is good
vue is faster to write
forms in particular are ridiculously easy and fast to write
it has the actuality of what they thought mvc was gonna be used for back when they made smalltalk poo poo with it

Zlodo
Nov 25, 2006

Brain Candy posted:

it's actually loving fantastic when you have many beefy cores or lots of wimpy cores because you can use cool tricks like CAS instead of locks
we don't use that many locks or atomic operations because we do have sufficient data separation that we can parallelize a lot of things without needing that many synchronization points

quote:

i contend that mutability is instead an optimization? one that was almost always required in the past, but should be used only with cunning and skill now?
sure, why not, as long as you are doing it this way from the start with a language designed for it. when you are working on a huge code base that was developed over the course of a decade that you can't afford to rewrite it's purely academic
and the languages designed for it either don't have mature ecosystems or aren't well spread enough
hence my remark about having to ship something this year

perhaps by 2028 or something the industry at large will have massively moved to rust but today we have to use c++ on years old code bases

quote:

even talking about bytes on an 'actual machine' is somewhat of a useful lie. the target of a programming language is primarly a human mind

I do agree that a programming language is designed primarily for human beings, but it should not abstract things so much as to remove the ability to do what you need to even when that means bypassing some of the cool useful simplifying abstractions

Xarn
Jun 26, 2015

Brain Candy posted:

it's actually loving fantastic when you have many beefy cores or lots of wimpy cores because you can use cool tricks like CAS instead of locks

Look at this peasant not even using RCU.

Sapozhnik
Jan 2, 2005

Nap Ghost
i want a standard ML that actually has some sort of ecosystem and isn't tied to the JVM or CLR or whatever

and also has first-class continuations (read: async await) instead of some weird abstraction inversion involving call/cc

Brain Candy
May 18, 2006

Zlodo posted:

sure, why not, as long as you are doing it this way from the start with a language designed for it. when you are working on a huge code base that was developed over the course of a decade that you can't afford to rewrite it's purely academic
and the languages designed for it either don't have mature ecosystems or aren't well spread enough
hence my remark about having to ship something this year

perhaps by 2028 or something the industry at large will have massively moved to rust but today we have to use c++ on years old code bases

the example i used was an actual rewrite of a thing used by millions of people, that you can use today? maybe you are unaware, but rust-the-language happened because mozilla recognized that c++ codebase of firefox had turned into an unmaintainable swamp

i recognize that someone will be writing COBOL until the fallout clouds her monitor. and that rewrites are rarely the right thing. but this

Zlodo posted:

sure, why not, as long as you are doing it this way from the start with a language designed for it

is straight up stubborness. you can always use new techniques when you write new code or refactor old code

quote:

I do agree that a programming language is designed primarily for human beings, but it should not abstract things so much as to remove the ability to do what you need to even when that means bypassing some of the cool useful simplifying abstractions

this is called 'unsafe' and you can totally do it in rust?

DELETE CASCADE
Oct 25, 2017

i haven't washed my penis since i jerked it to a phtotograph of george w. bush in 2003
:siren: here comes the rust evangelism strike force :siren:

Luigi Thirty
Apr 30, 2006

Emergency confection port.

I’m glad I got fired from my last shithole just before they decided to rewrite everything in react

CRIP EATIN BREAD
Jun 24, 2002

Hey stop worrying bout my acting bitch, and worry about your WACK ass music. In the mean time... Eat a hot bowl of Dicks! Ice T



Soiled Meat

HoboMan posted:

someone is handing off an android app to me that has apparently been written in groovy. how worried should i be?

quit your job now

CRIP EATIN BREAD
Jun 24, 2002

Hey stop worrying bout my acting bitch, and worry about your WACK ass music. In the mean time... Eat a hot bowl of Dicks! Ice T



Soiled Meat

Arcsech posted:

havent used it but i mean, javascript is awful, but react is the least bad javascript thing, so it's probably pretty bad but manageably so

unlike, say, literally anything written in groovy

its interesting is that react native instantiates native components instead of trying to just skin things using css in a web view.

i never used it but i find that to be neat

Notorious b.s.d.
Jan 25, 2003

by Reene

Brain Candy posted:

i recognize that someone will be writing COBOL until the fallout clouds her monitor. and that rewrites are rarely the right thing.

i think it's important to note that cobol persists because its applications are very rarely appealing choices for a rewrite. cobol was, by the standards of its day, extraordinarily high-level and clear. it was primarily used to encode business logic, with lower level languages encoding routines.

over time the lower level routines were replaced by new operating systems and cobol runtimes, but the business logic remains, often with all the original comments from the 60s, 70s, and 80s.

the hard part of business logic should never be language semantics. and with cobol, it usually isn't. cobol is ugly but the language literally forces you to note every input and output to your code.

what are you really gonna get out of a rewrite? avoiding a few weeks of training for new devs?

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
i think i'm going to try to reboot CGI except instead of perl we'll use go

jony neuemonic
Nov 13, 2009

MALE SHOEGAZE posted:

i think i'm going to try to reboot CGI except instead of perl we'll use go

traditionally you'd pick a better language than what came before, but sure.

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder

jony neuemonic posted:

traditionally you'd pick a better language than what came before, but sure.

what about stateful go microservices where instead of executing a script for each endpoint you just have an actual process running on each endpoint and some sort of router process that invokes them via rpc

DONT THREAD ON ME fucked around with this message at 02:50 on Jan 19, 2018

jony neuemonic
Nov 13, 2009

MALE SHOEGAZE posted:

what about stateful go microservices where instead of executing a script for each endpoint you just have an actual process running on each endpoint and some sort of router process that invokes them

did you just tell me to go gently caress myself

Zemyla
Aug 6, 2008

I'll take her off your hands. Pleasure doing business with you!

carry on then posted:

cool. java also has ways to avoid global state spaghetti so stop comparing the worst java to the best of your favorite language then deciding that all java programmers must be children, thanks

I didn't mention Java at all in either one of my posts, nor say anything about Haskell being better than Java because it has these things.

Does Oracle pay you and Shaggar to be such thick pieces of poo poo about anything that's not dogmatic OO, or is your stupidity natural?

Shaggar
Apr 26, 2006

MALE SHOEGAZE posted:

what about stateful go microservices where instead of executing a script for each endpoint you just have an actual process running on each endpoint and some sort of router process that invokes them via rpc

idk how many times I gotta tell you to just use asp.net

Shaggar
Apr 26, 2006

Zemyla posted:

I didn't mention Java at all in either one of my posts, nor say anything about Haskell being better than Java because it has these things.

Does Oracle pay you and Shaggar to be such thick pieces of poo poo about anything that's not dogmatic OO, or is your stupidity natural?

the only reason Haskell and other FPs exist is r&d for much better languages like c# and java.

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder

Shaggar posted:

idk how many times I gotta tell you to just use asp.net

i'm starting on the 6th of feb

comedyblissoption
Mar 15, 2006

you can theoretically write your C# code so it doesn't have the spaghetti problems, but using "best practices" the programmers will write the spaghetti

C# also doesn't support notating a type as const/immutable/whatever in an arbitrary scope

DELETE CASCADE
Oct 25, 2017

i haven't washed my penis since i jerked it to a phtotograph of george w. bush in 2003
the problem with doing "immutable everything everywhere possible" in java isn't with the language per se, but the garbage collector. java's gc is not designed for the use case of many small immutable objects with short lifetimes whose "changes" can be optimized into mutations (when the previous version of the immutable object is no longer visible). sure you can design a gc for this, but then it wouldn't work so well with traditional imperative java code where large objects have longer lifetimes and get mutated all over the place

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder

comedyblissoption posted:

you can theoretically write your C# code so it doesn't have the spaghetti problems, but in practice the programmers will write the spaghetti

C# also doesn't support notating a type as const/immutable/whatever in an arbitrary scope

actually

https://docs.microsoft.com/en-us/dotnet/csharp/reference-semantics-with-value-types

quote:

C# 7.2 adds the in keyword to complement the existing ref and out keywords when you write a method that passes arguments by reference. The in keyword specifies that you are passing the parameter by reference and the called method does not modify the value passed to it.

(but it's certainly not the same as the way it works in Rust or similar)

Night Shade
Jan 13, 2013

Old School
i was under the impression recent JREs had new-generation GCs designed around short-lived immutable object spam, especially given the rise in popularity of stuff like clojure, scala and more recently kotlin

having said that to use them you need to pass -Xalphabetsoup

comedyblissoption
Mar 15, 2006

MALE SHOEGAZE posted:

actually

https://docs.microsoft.com/en-us/dotnet/csharp/reference-semantics-with-value-types


(but it's certainly not the same as the way it works in Rust or similar)
Yah but this is only structs. The vast majority of types used in the C# codebases I worked on were non-struct types.

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
the only thing i'll say about this discussion is that by far the worst codebase i've dealt with in scala (and we never use var or any of the other mutable constructs). but honestly the code is pretty easy to deal with and reason about, the problem is our terrible, terrible architecture. and mongodb.

Shaggar
Apr 26, 2006

MALE SHOEGAZE posted:

i'm starting on the 6th of feb

w/ owin ur basically running it as a .exe and slotting in components as needed so u can do a microservice like ur talking about very easily. you can also use something like azure functions to abstract even more of it away.

carry on then
Jul 10, 2010

by VideoGames

(and can't post for 10 years!)

Zemyla posted:

I didn't mention Java at all in either one of my posts, nor say anything about Haskell being better than Java because it has these things.

Does Oracle pay you and Shaggar to be such thick pieces of poo poo about anything that's not dogmatic OO, or is your stupidity natural?

aha there it is. i touched a nerve.

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder

Shaggar posted:

w/ owin ur basically running it as a .exe and slotting in components as needed so u can do a microservice like ur talking about very easily. you can also use something like azure functions to abstract even more of it away.

i mean to be clear i dont actually want to do that but good to know

i really need to start learning stuff for new job. i dont know poo poo about developing in the microsoft ecosystem. i'm not concerned at all about learning c# but learning the various frameworks and just like...so many basic things that i take for granted. things like file permissions. does windows even have file permissions? i dont even know. i assume yes. what about getting root access? how do i log into a remote host?

christ i'm going to have to do a lot of googling. fortunately it's easy to grasp thing if you similar concepts to jump off from.

DONT THREAD ON ME fucked around with this message at 04:04 on Jan 19, 2018

Shaggar
Apr 26, 2006
windows has ntfs which has real access control lists, unlike linuxes. You shouldn't have to worry about it tho

Shaggar
Apr 26, 2006
I wouldn't worry about asp.net or c# or other common .net things cause the biggest headache you'll have will always be everything javascript related.

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder

Shaggar posted:

I wouldn't worry about asp.net or c# or other common .net things cause the biggest headache you'll have will always be everything javascript related.

well i know about that fortunately

jony neuemonic
Nov 13, 2009

MALE SHOEGAZE posted:

i mean to be clear i dont actually want to do that but good to know

i really need to start learning stuff for new job. i dont know poo poo about developing in the microsoft ecosystem. i'm not concerned at all about learning c# but learning the various frameworks and just like...so many basic things that i take for granted. things like file permissions. does windows even have file permissions? i dont even know. i assume yes. what about getting root access? how do i log into a remote host?

christ i'm going to have to do a lot of googling. fortunately it's easy to grasp thing if you similar concepts to jump off from.

apress, despite being a thoroughly mediocre publisher otherwise, has excellent .net books jfyi.

JawnV6
Jul 4, 2004

So hot ...

Brain Candy posted:

i mean this misses the point on one level, but on another is totally correct?
yah im p clever like that

Brain Candy posted:

you computer doesn't know poo poo about classes or structs or functions or whatever mental model you write to that lets you get the outcome you'd like
i work at a super low level but i dont know how to conceptualize the actual hardware you have underneath all the hippy dippy "immutable" lies facilitated by a gigantic runtime as anything other than a stateful machine

like there's a PC, there's registers, we've all agreed on this abstraction layer where those things have a known state at points in time, it's wholly unuseful to pretend they're something else without layers and layers in between

redleader
Aug 18, 2005

Engage according to operational parameters
a couple of pages ago, someone asked what happened to knockoutjs. well, it gained a new lease on life when it became vuejs

and i assume it's still just as poo poo

cinci zoo sniper
Mar 15, 2013




MALE SHOEGAZE posted:

things like file permissions. does windows even have file permissions? i dont even know. i assume yes. what about getting root access?
you don't really have to think about those on windows

MALE SHOEGAZE posted:

how do i log into a remote host?
ask your security team, there's a million ways to do this

comedyblissoption
Mar 15, 2006

MALE SHOEGAZE posted:

i mean to be clear i dont actually want to do that but good to know

i really need to start learning stuff for new job. i dont know poo poo about developing in the microsoft ecosystem. i'm not concerned at all about learning c# but learning the various frameworks and just like...so many basic things that i take for granted. things like file permissions. does windows even have file permissions? i dont even know. i assume yes. what about getting root access? how do i log into a remote host?

christ i'm going to have to do a lot of googling. fortunately it's easy to grasp thing if you similar concepts to jump off from.
the cmd shell scripting and powershell scripting is like bash scripting: bad and avoided at all costs

redleader
Aug 18, 2005

Engage according to operational parameters

MALE SHOEGAZE posted:

i mean to be clear i dont actually want to do that but good to know

i really need to start learning stuff for new job. i dont know poo poo about developing in the microsoft ecosystem. i'm not concerned at all about learning c# but learning the various frameworks and just like...so many basic things that i take for granted. things like file permissions. does windows even have file permissions? i dont even know. i assume yes. what about getting root access? how do i log into a remote host?

christ i'm going to have to do a lot of googling. fortunately it's easy to grasp thing if you similar concepts to jump off from.

the most important thing to realise about the .net ecosystem is that it revolves around microsoft first-party components/libraries/products/etc. there's a bit of a mentality that if it's not from microsoft, it should be written in-house. hence a lot of stuff is reinvented (badly) or not done at all

windows file permissions exist and are pretty straightforward. you have users and groups, files and directories have allow/deny read/write/delete/etc permissions. permissions can be inherited by child directories. the whole thing works pretty much as you expect. you don't really see file permission stuff on your average home desktop, but it's there. turns out that these permissions (access control lists - ACLs) can apply to non-filesystem objects (registry keys, processes, all kinds of things), hence you sometimes see materials referring to "containers" and "objects"

it gets a little more complicated when the machine is on an active directory domain, since you can have two types of user - local users (i.e. created on and local to the machine), and domain users (created on a domain controller and exist for all machines on that domain). domain users can access things on other machines (providing the right permissions for the things have been granted), local users can't have permissions set on other machines, blah blah blah, a bunch of rules that mostly make sense. there are also two types of acl - one granting permission, the other controlling audit stuff


that being said, i've spent well over a day figuring out a loving annoying issue with user permissions for some weirdo edge case asp.net/iis nonsense due to a web server config we haven't used yet. windows file permissions are easy until you fall into an undocumented hole. gently caress knows how bigger orgs manage all this poo poo.


comedyblissoption posted:

the cmd shell scripting and powershell scripting is like bash scripting: bad and avoided at all costs

christ, you're not wrong. as bad as powershell is (and it's bad), batch scripts are absolutely worse

Adbot
ADBOT LOVES YOU

Luigi Thirty
Apr 30, 2006

Emergency confection port.

MALE SHOEGAZE posted:

does windows even have file permissions? i dont even know. i assume yes.

yes, ACL-based per SID (account or other entity)

MALE SHOEGAZE posted:

what about getting root access?

windows calls them Administrator accounts, you can log in as one or elevate (sudo) if you have the proper permissions

MALE SHOEGAZE posted:

how do i log into a remote host?

depends on your setup but windows comes with an RDP client and most server software is UI-based lol

  • Locked thread