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
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.

nielsm posted:

If it isn't already, at least look into migrating the data storage into MS SQL Server. When the data is on a proper database server, it should be possible to build a new application over it, VB.NET with WinForms might even allow some level of copy-paste from the Access application.

It is possible to migrate the data to something like sharepoint/sql server, and change the existing access app to point at the linked table in sharepoint/sql server. This would let you keep using the existing access application as-is, but have the data in the cloud so you can migrate off the access UI later (which would let you have a web interface and migrate off of having an actual app to run).

Without special knowledge of what you were using access to do, I bet you could look into re-creating the forms using Microsoft Powerapps, which can also use sharepoint/sql server as a datasource. Powerapps is low-code and works in the browser and is probably the closest thing to an access successor Microsoft offers now, but I wouldn't say it's a straight line conversion - it's not like there's a button that turns an access database into powerapps, there will be a little work involved, but you wouldn't need a dedicated coder (whoever figured out access will probably be able to figure out powerapps), and you'd be able to do it incrementally given that the data would come from the same place.

Adbot
ADBOT LOVES YOU

Twerk from Home
Jan 17, 2009

This avatar brought to you by the 'save our dead gay forums' foundation.

Bruegels Fuckbooks posted:

It is possible to migrate the data to something like sharepoint/sql server, and change the existing access app to point at the linked table in sharepoint/sql server. This would let you keep using the existing access application as-is, but have the data in the cloud so you can migrate off the access UI later (which would let you have a web interface and migrate off of having an actual app to run).

Without special knowledge of what you were using access to do, I bet you could look into re-creating the forms using Microsoft Powerapps, which can also use sharepoint/sql server as a datasource. Powerapps is low-code and works in the browser and is probably the closest thing to an access successor Microsoft offers now, but I wouldn't say it's a straight line conversion - it's not like there's a button that turns an access database into powerapps, there will be a little work involved, but you wouldn't need a dedicated coder (whoever figured out access will probably be able to figure out powerapps), and you'd be able to do it incrementally given that the data would come from the same place.

I appreciate everyone's input on this!

I know that SQL Server is the sanest database to be able to migrate onto from Access, and I could help them through the Access -> SQL server transition, and help them get on their feet in Powerapps. That is absolutely the direction I was looking for, and I believe would work better for them than standing up some forms on Razor Pages in C# on Dotnet Core / SQL Server. That first step of getting data into the cloud while continuing to use Access forms is a wonderful way to reduce risk in this whole thing.

Computer viking
May 30, 2011
Now with less breakage.

My position started as "take over this database of sample tubes, and expand it to a way to track the boxes we keep them in, so we can notice if we lose any when we move to another building" - also in a medical research group.

That was meant to be a 3-month kind of deal, but they kind of discovered how useful it is to have a general IT person around. They have scraped together the money to keep me for a decade, now - and while that tracking system still lives, I've also drifted into bioinformatics. (Genetics and cancer has proven to be sort of data-heavy.)

Not saying that "hire a fresh CS student and hope for the best" is the right solution for you, but it worked for us. :)

tehinternet
Feb 14, 2005

Semantically, "you" is both singular and plural, though syntactically it is always plural. It always takes a verb form that originally marked the word as plural.

Also, there is no plural when the context is an argument with an individual rather than a group. Somfin shouldn't put words in my mouth.
Hey guys, not sure if this is the correct place to ask this since Regular Expression is weird as poo poo, but here goes.

So I'm attempting to automate account creation using Power Automate Desktop between my ticketing system's API and a third party vendor. Our location data is stored as a number "id":12345678901 , that number (12345678901) corresponds to the name of a location that is listed within our ticketing system's API as "name":"LOCATION" The location is referenced in our vendor's system as LOCATION

I've got data in this format where the two variables that I need to associate are right next to each other in the text I'm parsing, I've included all of the information that repeats -- to be clear, I'm only interested in the information that's bolded, the "ID" number and the "name", 12345678901 and LOCATION in this case.

Data example:

{"line1":null,"line2":null,"city":null,"state":null,"country":null,"zipcode":null},"id":12345678901,"name":"LOCATION","parent_location_id":null,"primary_contact_id":null,"contact_name":null,"email":null,"phone":null,"created_at":"","updated_at":""},{"address":{"line1":"","line2":"","city":"","state":"","country":"","zipcode":""}, data repeats from here

I'm forced to use regular expression to find the data.

What I've written so far finds the ID number just fine: (?<="id":)(.*?(?=,))

Similarly, I can find the name using this: (?<="name":")(.*?(?="))

Pull both fields together: ((?<="id":)(.*?(?=,)))|((?<="name":")(.*?(?=")))

Workflow is like so:
User selects location(s) within our ticketing system.
API query is submitted to ticketing system, data is parsed
I find the location with: (?<="name":")(.*?(?="))

Where I'm stuck: I need to replace the name with the id number that immediately precedes it and repeat it for any additional locations selected. Ex: LOCATION would be changed to 12345678901, LOCATION2 would be changed to 12345678902, etc.

What I actually need: For every "name":"LOCATION" let "LOCATION" equal the "1234567890" where "id":1234567890 immediately precedes it.

Does that track? Is there regex that can do that? Please let me know if I can provide more detail or explain more clearly. This is relatively new to me so I appreciate any help at all! Alternatively, feel free to tell me to shut the gently caress up and to stop oversharing.

tehinternet fucked around with this message at 20:21 on Aug 25, 2021

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.

tehinternet posted:

Hey guys, not sure if this is the correct place to ask this since Regular Expression is weird as poo poo, but here goes.

So I'm attempting to automate account creation between my ticketing system's API and a third party vendor. Our location data is stored as a number "id":12345678901 , that number (12345678901) corresponds to the name of a location that is listed within our ticketing system's API as "name":"LOCATION" The location is referenced in our vendor's system as LOCATION

I've got data in this format where the two variables that I need to associate are right next to each other in the text I'm parsing, I've included all of the information that repeats -- to be clear, I'm only interested in the information that's bolded, the "ID" number and the "name", 12345678901 and LOCATION in this case.

Data example:

{"line1":null,"line2":null,"city":null,"state":null,"country":null,"zipcode":null},"id":12345678901,"name":"LOCATION","parent_location_id":null,"primary_contact_id":null,"contact_name":null,"email":null,"phone":null,"created_at":"","updated_at":""},{"address":{"line1":"","line2":"","city":"","state":"","country":"","zipcode":""}, data repeats from here

I'm forced to use regular expression to find the data.

What I've written so far finds the ID number just fine: (?<="id":)(.*?(?=,))

Similarly, I can find the name using this: (?<="name":")(.*?(?="))

Pull both fields together: ((?<="id":)(.*?(?=,)))|((?<="name":")(.*?(?=")))

Workflow is like so:
User selects location(s) within our ticketing system.
API query is submitted to ticketing system, data is parsed
I find the location with: (?<="name":")(.*?(?="))

Where I'm stuck: I need to replace the name with the id number that immediately precedes it and repeat it for any additional locations selected. Ex: LOCATION would be changed to 12345678901, LOCATION2 would be changed to 12345678902, etc.

What I actually need: For every "name":"LOCATION" let "LOCATION" equal the "1234567890" where "id":1234567890 immediately precedes it.

Does that track? Is there regex that can do that? Please let me know if I can provide more detail or explain more clearly. This is relatively new to me so I appreciate any help at all! Alternatively, feel free to tell me to shut the gently caress up and to stop oversharing.
that text is json https://en.wikipedia.org/wiki/JSON. don't use a regex to parse json, use a json parser.

tehinternet
Feb 14, 2005

Semantically, "you" is both singular and plural, though syntactically it is always plural. It always takes a verb form that originally marked the word as plural.

Also, there is no plural when the context is an argument with an individual rather than a group. Somfin shouldn't put words in my mouth.

Bruegels Fuckbooks posted:

that text is json https://en.wikipedia.org/wiki/JSON. don't use a regex to parse json, use a json parser.

Apologies, in my rush to add all the detail I could think of, I missed the bigger ones .

I'm building automation using Power Automate Desktop which uses json for the query which then has to be parsed with an option to search for text that can use regular expression to search as well. This is all within Power Automate.

Editing my OP.

Computer viking
May 30, 2011
Now with less breakage.

Yeah I was about to say - it's like the old quote about he who tries to parse HTML with regex living in a state of sin. Using a proper parser is both easier and more robust to format changes.

Edit: uh that sounds "fun", and I'll leave it to someone who has used that specific solution

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.

tehinternet posted:

Apologies, in my rush to add all the detail I could think of, I missed the bigger ones .

I'm building automation using Power Automate Desktop which uses json for the query which then has to be parsed with an option to search for text that can use regular expression to search as well. This is all within Power Automate.

Editing my OP.

i don't know powerautomate, but from quick googling, powerautomate can turn a json string into a custom object. https://docs.microsoft.com/en-us/power-automate/desktop-flows/actions-reference/variables#convertjsontocustomobject. i would look through the powerautomate documentation on how to use the built-in json parser and not do this using regex.

raminasi
Jan 25, 2005

a last drink with no ice

tehinternet posted:

Apologies, in my rush to add all the detail I could think of, I missed the bigger ones .

I'm building automation using Power Automate Desktop which uses json for the query which then has to be parsed with an option to search for text that can use regular expression to search as well. This is all within Power Automate.

Editing my OP.

Are you sure that Power Automate Desktop can't parse JSON?

Hughmoris
Apr 21, 2007
Let's go to the abyss!

Computer viking posted:

Yeah I was about to say - it's like the old quote about he who tries to parse HTML with regex living in a state of sin. Using a proper parser is both easier and more robust to format changes.

Edit: uh that sounds "fun", and I'll leave it to someone who has used that specific solution

An oldie but a goodie: https://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags

tehinternet
Feb 14, 2005

Semantically, "you" is both singular and plural, though syntactically it is always plural. It always takes a verb form that originally marked the word as plural.

Also, there is no plural when the context is an argument with an individual rather than a group. Somfin shouldn't put words in my mouth.

raminasi posted:

Are you sure that Power Automate Desktop can't parse JSON?

Oooooooh right in front of my face, I was googling the wrong thing.

I’ll look at using this instead, this looks like it could be exactly what I need. Sorry for channeling my inner end user and leaving out vitally important information!

Hughmoris
Apr 21, 2007
Let's go to the abyss!

tehinternet posted:

Oooooooh right in front of my face, I was googling the wrong thing.

I’ll look at using this instead, this looks like it could be exactly what I need. Sorry for channeling my inner end user and leaving out vitally important information!

Now we all know Power Automate can parse JSON!

I've created a couple of cool little things for my team in Power Automate but ain't nobody interested so I stopped.

tehinternet
Feb 14, 2005

Semantically, "you" is both singular and plural, though syntactically it is always plural. It always takes a verb form that originally marked the word as plural.

Also, there is no plural when the context is an argument with an individual rather than a group. Somfin shouldn't put words in my mouth.

Hughmoris posted:

Now we all know Power Automate can parse JSON!

I've created a couple of cool little things for my team in Power Automate but ain't nobody interested so I stopped.

If you can get the company to shell out for the Premium version where you can setup a VM and run flows unattended, it can save a lot of time with mundane data entry.

Our ticketing system, FreshService, can use a web hook when a ticket is submitted to make some tickets fully automated upon submission. It’s a big potential time/labor savings. It’s also been a big PR win for my team. It’s weird in some ways and quirky as poo poo sometimes but Microsoft is actively developing it and it’s getting better with each revision.

Rosalind
Apr 30, 2013

When we hit our lowest point, we are open to the greatest change.

In today's episode of being asked to do things that I am absolutely not qualified to do, I have a new task dumped on me at work and I'm looking for some advice on how to do this as easily as possible.

I work on an academic research study. We have about 5,000 participants. The Principal Investigator has gotten it in his head that we should provide our participants a "participant portal" where they can access all the materials they need for the study each year.

Basically it needs to work like this:

1. Participant is emailed/texted a unique link or generic link with username and password.
2. Participant clicks the link (and logs in if necessary) and is taken to a page.
3. The page has their study materials and their completion status for these materials.

There are some nice-to-haves but that's the essential version of what we need. It does need to be secure enough that a participant/random person can't stumble across someone else's materials, but we're not storing any identifiable private info or sensitive study data on this platform so we don't need to worry about that side of things.

What is the best way to build this with minimum fuss? Like I don't even know how to get started so even something as simple as "Use language/framework X. There is a good tutorial similar to what you want to do at Y site." would be extremely helpful.

For context, I am experienced with R and VBA. I'm comfortable with SQL, HTML, and CSS. I have a very basic knowledge of Javascript. I've setup static websites using Github Pages and Jekyll before, but never done anything like this.

CarForumPoster
Jun 26, 2013

⚡POWER⚡

Rosalind posted:

In today's episode of being asked to do things that I am absolutely not qualified to do, I have a new task dumped on me at work and I'm looking for some advice on how to do this as easily as possible.

I work on an academic research study. We have about 5,000 participants. The Principal Investigator has gotten it in his head that we should provide our participants a "participant portal" where they can access all the materials they need for the study each year.

Basically it needs to work like this:

1. Participant is emailed/texted a unique link or generic link with username and password.
2. Participant clicks the link (and logs in if necessary) and is taken to a page.
3. The page has their study materials and their completion status for these materials.

There are some nice-to-haves but that's the essential version of what we need. It does need to be secure enough that a participant/random person can't stumble across someone else's materials, but we're not storing any identifiable private info or sensitive study data on this platform so we don't need to worry about that side of things.

What is the best way to build this with minimum fuss? Like I don't even know how to get started so even something as simple as "Use language/framework X. There is a good tutorial similar to what you want to do at Y site." would be extremely helpful.

For context, I am experienced with R and VBA. I'm comfortable with SQL, HTML, and CSS. I have a very basic knowledge of Javascript. I've setup static websites using Github Pages and Jekyll before, but never done anything like this.

Sounds like you need a Dashboard. I love Plotly Dash for Python stuff and it has an R version. You do everything in R and don't need HTML, JavaScript or CSS. I made an example of how easy it is to deploy to heroku here.

Alternatively if it really is that simple give me $1000 and a list of requirements and I'll build it for you in Python. (This sounds like a 2-3 hour project in Dash)

Walh Hara
May 11, 2012
I personally love R Shiny (https://shiny.rstudio.com/). It's been a while since I've tried both, but 2~3 years ago shiny was clearly more mature and better supported than Dash. There are plenty of articles around comparing both, but probably both are more than enough for your problem.

Here are some examples w.r.t. logging in:
https://shiny.rstudio.com/gallery/authentication-and-database.html
https://shiny.rstudio.com/gallery/personalized-ui.html

Walh Hara fucked around with this message at 00:48 on Aug 26, 2021

Rosalind
Apr 30, 2013

When we hit our lowest point, we are open to the greatest change.

CarForumPoster posted:

Sounds like you need a Dashboard. I love Plotly Dash for Python stuff and it has an R version. You do everything in R and don't need HTML, JavaScript or CSS. I made an example of how easy it is to deploy to heroku here.

Alternatively if it really is that simple give me $1000 and a list of requirements and I'll build it for you in Python. (This sounds like a 2-3 hour project in Dash)

Walh Hara posted:

I personally love R Shiny (https://shiny.rstudio.com/). It's been a while since I've tried both, but 2~3 years ago shiny was clearly more mature and better supported than Dash. There are plenty of articles around comparing both, but probably both are more than enough for your problem.

Here are some examples w.r.t. logging in:
https://shiny.rstudio.com/gallery/authentication-and-database.html
https://shiny.rstudio.com/gallery/personalized-ui.html

Oh thank you for these. I had thought about Shiny which I have some experience with but I didn't even think that it could be used in this way. Thanks!

Hughmoris
Apr 21, 2007
Let's go to the abyss!
To add some stuff to my resume, I'm following along with a Cloud Resume tutorial and at the point where I need to associate my Azure web app with a custom domain.

I've never done webdev before nor purchased a custom domain. Since its for professional use, I'll likely just use <firstname><lastname>.com . Google Domains has it available for $12/yr. Is there anything I should be considering for a domain purchase, or is it as simple as that?

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Hughmoris posted:

To add some stuff to my resume, I'm following along with a Cloud Resume tutorial and at the point where I need to associate my Azure web app with a custom domain.

I've never done webdev before nor purchased a custom domain. Since its for professional use, I'll likely just use <firstname><lastname>.com . Google Domains has it available for $12/yr. Is there anything I should be considering for a domain purchase, or is it as simple as that?

It's that simple. You'll have yearly renewal charges. Not sure how much it costs these days, but email services are a few dollars on top, etc. Email is weirder than it was way back, so it's probably worth paying for the service so you don't have to deal with building trust in the network or configuring all of the certs just right.

Computer viking
May 30, 2011
Now with less breakage.

Google domains seems to be fine enough, though I have a reflex to try and keep my domains independent of the big companies - I use Gandi for my domains, since they are just a registrar. On the other hand, I suspect this is needlessly paranoid. :)

CarForumPoster
Jun 26, 2013

⚡POWER⚡

leper khan posted:

It's that simple. You'll have yearly renewal charges. Not sure how much it costs these days, but email services are a few dollars on top, etc. Email is weirder than it was way back, so it's probably worth paying for the service so you don't have to deal with building trust in the network or configuring all of the certs just right.

+1 if you’re not super tech savvy use Google domains and gmail on top so you can avoid setting up spf, dkim so that your email will land in inboxes and not spam.

Also FYI you can make a good resume site on wix or square space really easily

lord funk
Feb 16, 2004

I've got a bunch of subtitle (.srt) files that need cleaning up. There are a bunch of things I'd like to automate, like search / replace strings, capitalizing after a period, etc..

Does anyone have a good recommendation for an approach? Is there a text editor out there with a strong feature set for something like this? Or, should I just load up the text and do my own search functions in Xcode or something (which I'm comfortable doing, but don't want to if there's a better way)?

edit: doing it in Xcode isn't that bad. Plus I can get really specific about what I need.

lord funk fucked around with this message at 18:50 on Aug 27, 2021

Hughmoris
Apr 21, 2007
Let's go to the abyss!

CarForumPoster posted:

+1 if you’re not super tech savvy use Google domains and gmail on top so you can avoid setting up spf, dkim so that your email will land in inboxes and not spam.

Also FYI you can make a good resume site on wix or square space really easily


Computer viking posted:

Google domains seems to be fine enough, though I have a reflex to try and keep my domains independent of the big companies - I use Gandi for my domains, since they are just a registrar. On the other hand, I suspect this is needlessly paranoid. :)


CarForumPoster posted:

+1 if you’re not super tech savvy use Google domains and gmail on top so you can avoid setting up spf, dkim so that your email will land in inboxes and not spam.

Also FYI you can make a good resume site on wix or square space really easily

Thanks for the tips! I ended up registering a Google Domain and was able to attach it to the Azure Static Web App I built, got it secured using HTTPS and its up and running. The novelty of having my first website deployed with a custom domain name is pretty cool. :)

Hughmoris
Apr 21, 2007
Let's go to the abyss!
Rookie question for open source contributions: A bit ago I contributed to dotnet/fsharp and had my pull request merged. I just noticed that I'm not listed as a contributer to that repo.

Is there anything I can do to correct that or am I SOL?

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

Hughmoris posted:

Rookie question for open source contributions: A bit ago I contributed to dotnet/fsharp and had my pull request merged. I just noticed that I'm not listed as a contributer to that repo.

Is there anything I can do to correct that or am I SOL?

Open an issue and ask? Or if the contributors list is part of the repo, open a PR and add yourself?

Could always act a bit confused too, as different projects can have different (often arbitrary) standards. "I'm not sure if there's a minimum bar for contributions to get acknowledged, but if [link to PR] meets it, can I be added?"

spiritual bypass
Feb 19, 2008

Grimey Drawer

Hughmoris posted:

Rookie question for open source contributions: A bit ago I contributed to dotnet/fsharp and had my pull request merged. I just noticed that I'm not listed as a contributer to that repo.

Is there anything I can do to correct that or am I SOL?

I think this happened to me once when the module I worked on was dropped in a later version

b0lt
Apr 29, 2005

Hughmoris posted:

Rookie question for open source contributions: A bit ago I contributed to dotnet/fsharp and had my pull request merged. I just noticed that I'm not listed as a contributer to that repo.

Is there anything I can do to correct that or am I SOL?

Is your commit's email address (as seen in `git log`) connected to your github account?

Hughmoris
Apr 21, 2007
Let's go to the abyss!

pokeyman posted:

Open an issue and ask? Or if the contributors list is part of the repo, open a PR and add yourself?

Could always act a bit confused too, as different projects can have different (often arbitrary) standards. "I'm not sure if there's a minimum bar for contributions to get acknowledged, but if [link to PR] meets it, can I be added?"


rt4 posted:

I think this happened to me once when the module I worked on was dropped in a later version


b0lt posted:

Is your commit's email address (as seen in `git log`) connected to your github account?

Thanks for the ideas. I'm going to leave it be, those teams have better things to work on than tracking down my grammar correction. I did make sure my email is up to date for future projects.

BrianRx
Jul 21, 2007
What would be a good language to learn as an introduction to object oriented modeling? I'm good with Python and Javascript, but I need to be stronger on inheritance and encapsulation as well as statically-typed code. I probably won't be creating much code as it's mostly for working with UML to do systems and software modeling for security audits. I've got a decent amount of runway to learn, so I don't mind diving into something a little more complicated if it'll be a good platform to build on later (like if it's similar to/an ancestor of a more modern or popular language that would be less appropriate for this specific goal).

Thanks!

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


Java or C++. Java is probably the easier of the two to learn (although C++ isn't as bad as it used to be).

Volmarias
Dec 31, 2002

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

ultrafilter posted:

Java or C++. Java is probably the easier of the two to learn (although C++ isn't as bad as it used to be).

You may want to just jump into Kotlin if you're going to do Java. It transpiles into Java bytecode, and provides a much nicer experience with the stream / lambda aspects emphasized to write expressive, clean code.

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

BrianRx posted:

What would be a good language to learn as an introduction to object oriented modeling? I'm good with Python and Javascript, but I need to be stronger on inheritance and encapsulation as well as statically-typed code. I probably won't be creating much code as it's mostly for working with UML to do systems and software modeling for security audits. I've got a decent amount of runway to learn, so I don't mind diving into something a little more complicated if it'll be a good platform to build on later (like if it's similar to/an ancestor of a more modern or popular language that would be less appropriate for this specific goal).

Thanks!

Hard anti-recommend for C++. Just too many footguns that'll get in the way of learning anything more general.

Any of C#, Java, Kotlin, Swift are in wide use, have extensive object-oriented programming facilities, and are unlikely to result in sobbing obscenities at the compiler (or maybe that's just me). The standard libraries for C# and Java are more object-y than Kotlin's or Swift's, but I don't know if either stdlib is considered exemplary object modelling.

There's always Smalltalk, where everything's an object…

Presto
Nov 22, 2002

Keep calm and Harry on.
C++ is fine as long as you stick to the basics (ie, ignore templates and all that template metaprogramming stuff).

BrianRx
Jul 21, 2007

pokeyman posted:

Any of C#, Java, Kotlin, Swift are in wide use, have extensive object-oriented programming facilities, and are unlikely to result in sobbing obscenities at the compiler (or maybe that's just me). The standard libraries for C# and Java are more object-y than Kotlin's or Swift's, but I don't know if either stdlib is considered exemplary object modelling.

I'm quoting this post but responding to everyone who provided advice.

Thanks, I really appreciate the suggestions. I'm a little resistant to Java, but not for any rational reason. It's probably the right choice because the program/package we use for modeling is Java-based and ancient, so we sometimes have to get creative with how we extend it to cover our needs. That's not my lane right now, though, but could be in the future.

My boss works mostly with C++ but even he is not recommending it as a good introduction to the fundamentals of OO languages. I'm looking through the MS docs on C# and it looks like a good alternative to Java for what I'm doing right now. It also seems like it would be more broadly useful than Kotlin or Swift given that it's the preferred language for working with the .NET platform, though I could be wrong. Kotlin does look interesting, though, and I may come back to it when I have more time or an excuse to use it.

Thanks again. I'm going to look at some Java and C# tutorials and maybe write some very simple programs to see if one grabs me more than the other.

raminasi
Jan 25, 2005

a last drink with no ice

BrianRx posted:

I'm quoting this post but responding to everyone who provided advice.

Thanks, I really appreciate the suggestions. I'm a little resistant to Java, but not for any rational reason. It's probably the right choice because the program/package we use for modeling is Java-based and ancient, so we sometimes have to get creative with how we extend it to cover our needs. That's not my lane right now, though, but could be in the future.

My boss works mostly with C++ but even he is not recommending it as a good introduction to the fundamentals of OO languages. I'm looking through the MS docs on C# and it looks like a good alternative to Java for what I'm doing right now. It also seems like it would be more broadly useful than Kotlin or Swift given that it's the preferred language for working with the .NET platform, though I could be wrong. Kotlin does look interesting, though, and I may come back to it when I have more time or an excuse to use it.

Thanks again. I'm going to look at some Java and C# tutorials and maybe write some very simple programs to see if one grabs me more than the other.

C# is a great choice for this and the .NET thread would be happy to help with your tutorials.

LongSack
Jan 17, 2003

raminasi posted:

C# is a great choice for this and the .NET thread would be happy to help with your tutorials.

Also, check out IAmTimCorey on YouTube. He has many C# related videos, and is (IMO) a pretty good teacher.

bobmarleysghost
Mar 7, 2006



Quick question for y'all, someone I work with is starting to learn java and was wondering if there's a good ORM for it.
And a follow up question - is it better to not use an ORM at all?

spiritual bypass
Feb 19, 2008

Grimey Drawer
You can use an ORM, but not as a substitute for knowing how to write SQL. I personally don't like ORMs because I think SQL is easy and ORMs don't handle the few hard cases well.

Twerk from Home
Jan 17, 2009

This avatar brought to you by the 'save our dead gay forums' foundation.

bobmarleysghost posted:

Quick question for y'all, someone I work with is starting to learn java and was wondering if there's a good ORM for it.
And a follow up question - is it better to not use an ORM at all?

ORMs are a productivity boost, and if you're starting a new greenfield application it's typically most important to get it working and validated quickly. I would use an ORM as a default option, and only start without one in a case where I knew that database performance is going to be a critical bottleneck.

The default option for Java is JPA, a standard built around the biggest most popular specific ORM implementation, Hibernate. Most Java frameworks will support JPA via Hibernate, including Spring (with or without Boot), Micronaut, and Quarkus. If you want a working application with a minimum of code, don't care about achieving maximum performance, and have relatively boring data access patterns, JPA is the way to go.

Hibernate / JPA has a lot of hidden complexity and can perform poorly when database schema or data access gets more complex. Teams can either invest in really learning Hibernate & configuring it to work for them, or they can use a simpler abstraction that gives them more control. Spring Data JDBC is one of those options. I will note that in simple cases, you are likely to get a better interface for your application to use and identical or even better performance out of Hibernate than doing JDBC yourself.

If you really want to roll your own SQL, I would use a query builder library like jOOQ instead of just writing raw SQL. Hand-writing raw SQL yourself is only a good idea if you're looking to learn SQL the language.

In general I'd just use JPA. It works well for most applications, and as you gain experience you'll understand in which situations it will demolish your performance. JPA can absolutely work for high-load latency sensitive applications, you just have to have knowledge of both SQL itself and JPA/Hibernate on top of it. Even with that downside, I think ORMs are a productivity boost that is too good to pass up.

Adbot
ADBOT LOVES YOU

bobmarleysghost
Mar 7, 2006



Thanks that's real good info, exactly what I was looking for! I'll pass it on.

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