#š½Programming Chat v2
1 messages Ā· Page 10 of 1
...
:3
besides this doesn't matter like that much
if I'm running it myself via datagrip
and it's a select
][
no way lmao
Literally the best database gui out there
notepad....
You canāt execute queries in notepad idiot
Notepad is not a console
thats quitter talk
DataGrip also makes it way easier to export data as like a CSV or whatever you need
for reels though i just use a database plugin in intellij
Adacore evil
worship adacore
write your own standard library in assembly then bind it to every popular language
gonna have to do that with ada actually
sooner or later
not the latter half though screw that
so like do people actually still think that
i thought everyone knew by now something like a word isnt even standardized (... "universal" would be a better term)
woah
lol
would be cool if it was
the types should be more defined in C
unless theres some smart reason why they arent
I think a char is 16 bits on some older japanese machines
a char is 16 bits in the JVM architecture
and iirc they are, but some intrinsics probably stop you along the way
there are definitely intrinsics but on those intrinsic platforms your probably gonna end up writing alot of things in asm anyways
so its probably just better to have the ability to completely disable the standardized types for that stuff to make your own
aa
Rust having explicitly sized integer types ā¤ļø
rust w
@spare quartz
What video is this on
Binary š
Itās obviously windows
Probably assembly
VSC IS GREAT WYM
vsc sucks
vsc is mid at best
personally i love VSC
my main code editor
let me guess
and watch i just know this is true
vsc is the first editor you tried and you never tried something else..?
no i tried several others
whats your primary programming lang
EW
WYM
oh yes finally

what are you developing
its mainly funky APIs with express
uhhh
discord bots
and maybe the rare half-baked file host
anyway javascript is
great
and so is visual studio code
and i will
brick
that's just my opinion though
i mean if you're doing simple thjings
then yeah okay it's fine
but there's many good code editors out there
i personally use the jetbrains package of ides
jetbrains package of ides imo is just bloat and stupidity
too PHAT for me to use it
lite-xl is pretty good...
never heard
It was Mac
Anyone here
Give me an output device thatās part of a computer
I mean true honestly
SIP and the sheer amount of times it asks you for your password
you use js⦠disregard ā¦.
somewhat ig
vsc is peak...
have you used a mac before
š Celebrating 30 Years of AdaCore!
Journey through the decades with us in our latest blog post, where we share the remarkable stories and milestones that have shaped our company. From groundbreaking projects to impactful partnerships, discover the legacy of innovation that defines AdaCore.
š Relive the memories and explore our journey:Ā https:/...
*We involved Richard Stallman (RMS) from the GNU project and Free Software Foundation in this effort from the early stages, and he came to NYU for several meetings. *
RICHARD STALLMAN HELPED MAKE ADA??
No way
yup definitely a evil organization
GOOD
"All I Want For Christmas Is You" by Mariah Carey (Make My Wish Come True Edition)
Listen to Mariah Carey: https://MariahCarey.lnk.to/listenYD
Subscribe to the official Mariah Carey YouTube channel: https://MariahCarey.lnk.to/subscribe_YD
Watch more Mariah Carey videos: https://MariahCarey.lnk.to/listen_YC/youtube
Follow Mariah Carey
Facebo...
iirc yes
but not to the point where its totally screwed everything up
yeah
OH ITS TUX BUT HES BLENDING WITH THE BACKGROUND
alright guys
i did it
i finished my writing assignment in about 6 paragraphs when it asked for 3 sentences
now to finish the tes-
@timid quartz okay ill admit
C# is okay...
i wrote this tiny snippet in about 3 minutes without needing to look up any information aside from TryParse
i have
oh god. dont make me write it .please
ew python
:333333
you can also write it java style
public class Program
{
static void Main(string[] args)
{
// ...
}
}
who here actually uses copilot or similar
i do :333
me
it helps out with a lot of stupid math stuff
fake programmers right here
REAL
astro is way more fake than I am by that logic
also i dont really use it for algorithms and stuff, its just code that I know how to do
they are so dumb now man
when copilot was in beta it would literally happily have a full conversation with you and it felt like you were talking to someone
now it gets confused if you say hi
no yeah thatās true
only when writing javadoc or its plainly obvious what i want to do
but again... it gets very intrusive when i havent even gotten a single line down
i dont use copilot
i used to but i dont like it
like SURE the math stuff is useful but i rarely do it anymore so i dont use it
We are probably rewriting the entirety of Guardsman again lmfao
bruh?
v5 of v2
make the progress open source rn
no you arenāt taking our stuff!1!!1!
im taking it in december 
Gonna ip ban you bro
Āøim still taking it,,
The cease and desist in question:
mmmm im still taking it 
Ur going to jail
Either way we can force take down or open source 
Ur 15 vro
im definitely not lmfao
correction 8 million
old ass
Follow @tech.unicorn & subscribe to my free newsletter in bio! Which keys get your steps in?šForget standing desks we now have running keyboards šThis is what I call XTREME programming level: sprint, stretch, code, repeat. š
Running tests⦠literall...
wow you were asleep for a while
isthis a good or bad thing
How do I get ada_language_serverā¦.
que
The ada LSP server
it should be included in your ada installation/plugin
But I want it not in vsc
I want to be able to use Emacs
go odluck
Alire didnāt install it I donāt think
alire doesnt put ada/gprbuild in path yeah
Itās not even in nixpkgs š
how did you install ada ...
if you want to use ada outside of whatever alire runs itself you have to find the installation directory of where it installed
I wonder is there any way to make alire use a version of gprbuild that I installed separately
Further testing required but thatās on the side
Well itās in the path
but its nix!!
Maybe I abandon LSP and just configure Emacs to not care about a missing LSP backend
@spare quartz why did you have to condemn me to use the most obscure language with the worst tooling imaginable
idk... i think you're just overcomplicating it
Bro even you are still actively figuring Ada out
THATS CAUSE ITS AN IN DEPTH LANGUAGE
It took you a while to get even okay with it
Rust is clamplicated
You said you suggested ada because itās simple but it aināt
3:<
Aint no way
My cs teacher said his sister learned "C+, but not c++" in college
goddamn man
it says password compromised but it also says they only have my passwords hash
lol
which
they really can't do anything with
unless they want to spend a very long time cracking it
bcrypt is pretty good
ok but like hear me out
the login endpoint expects a password right
sending the password in plain text over the internet isn't safe because of http downgrade attacks
but if you hash the password for transit then you are sending the server the hashed password
meaning the api expects the hash
so you can just send the hash
(I have no clue how to make a proper authentication endpoint)
Fr
is good but should be replaced
Python 3.13 apparently comes with a way to disable the GIL? @spare quartz @lavish dove
whats a GIL
Oh I dont think old versions of python even had it at all
ok I jsut read up on it, why are they making it "disableable" when they can just make the thing thread safe
weird..??
i didnt know python had a GIL/what was a GIL like lucky
i dont know why they just dont do it like the JVM, have a thread hold a lock when say, loading a certain class/running an explicitly synchronized function
i'd imagine python has more cases...
@lavish dove you should make a matrix account too
Wait how would I be talking to you if I wasnt in the matrix
Average 80's programmer behavior
boy make an account
When I look up "matrix" it gives me the movie
Idk wtf ur talking about š
he means this
Ohhh that
Did it change it's name or is there like 100 of those
man i have no idea how to write C#
no its always been like that
That looks pretty clean what's wrong lol
it doesnt look clean to me :<
especially the enums that i have to duplicate
ive only been writing C# for a day so..
Oh damn
matrix wont send me the verify email thing š
this matrix thing seems kinda shit
its decentralized but uess centralized servers š
anyways this matrix thing seems kinda cool
Lo
Well the servers are decentralized
Thatās kinda what it means
But it is still also kinda centralized because everyone uses matrix.org
@flint belfry šļø
belelelelele
i was gonna comment that i think lucky meant matrix kinda relies on the matrix dot org domain in the tiniest ammount from what ive seen in homeserver.yaml conf but i could be wrong
not matrix i meant synapse
Other server implementations also default to trusting matrix.org
also can you inv me later im (still) trying to get federation working
just give me your handle and sure
kk when its ready (fuck you cloudflare)
ok well i want to hide my ip....
ben told me a solution though so im just
going to do what he has
me when I look behind cf and find your ip anyways
ok then what is it.
and whats being served at port 3678 šļø
ok what's your website
everything subdomain related is my localnet
bro cf is so ass
i dont think it's that big of a deal if someone knows your server ip š
insert me getting ddosed somehow like 3 times in the past
its good for ddos prevention but that's about it
you can have ddos protection with proxy turned off can you not
well still hiding my ip is a nice thing to have either way
bleh
u do know that cf can decrypt https traffic right
you're literally consenting to be mitm'd
oh no a companys going to decrypt a page on my website thats literally just this https://meemkade.com
they dont have a special ip for everyone but rather ip for multiple people
so if a service using cf gets banned
on that ip and ur on it too
yeah
it's actually interesting how they do this it's called IP anycast
well yeah theres not exactly a solution to that
giving each user of cf their own ip would like
not be possible and at the least wouldnt be free anymore
they also have BYOIP (bring your own ip) in case you have your own for some reason
my face when cloudflare goes down and then half of the internet does too
yeah I realized that and made a new account on mozilla lol
guys what if we made a internet protocol where it was functionally impossible to ddos a server
fr fr
cloudflare stonks 
internet w ā¬ļø
what's your handle lol
its on my profile
discord profile
whys it making me do terms and conditions now??
MatrixError: [403] To continue using this homeserver you must review and agree to our terms and conditions at https://mozilla.modular.im/_matrix/consent?
and the link doesnt work
it dissappeared
@lavish dove @pastel tinsel @proud creek
https://cdn.astrohweston.xyz/u/4a6b6901-34c4-49ed-aa1d-53a6651a4db9.png
do not trust the dekker
it looked funny
lkike
ugh you made it unfunny
L
lmao
its so gltiched
I mean the matrix
kadeee,,
do you have 2 servers i can see which have DNS able to turn off
can you define what you mean by that
do you have 2 servers i can turn off the DNS resolver on
i mean
i can give you two ubuntu containers and just
remove the dns part from netplan
if thats what you want
they need to be two separate ips
public ip or local
public
i could like give you a nordvpn tunneled ubuntu contrainer but like
i only have 1 pub ip
asides from the oracle vms
need to write support for it
no
oof
ATP is going to explode your public ip
partially
it is a dns server so there'll probably be a lot of traffic
i need to figure out how to manage zone transfers and stuff to actually get files
also im running on port 1234 š
1234 avg
lm ao
what if you redesign the internet instead
dns, ip, remake it all
say no more fam
honestly i saw that take (but seriously) on a fediverse post a bit back
i don't think people realize just quite how much of there is and why its that way
woa
what could atp possibly do
Subscribe to our Youtube Channel and never miss a REDNEX Video: https://bit.ly/2VpadJH
Follow REDNEX on:
Merch: https://teespring.com/stores/rednex-official
SoundCloud: https://soundcloud.com/rednex
Spotify: https://open.spotify.com/artist/22Zqu1yyebVnbve8FxbJ2g
Facebook: https://www.facebook.com/RednexOfficial
Instagram: https://www.instagram.c...
I remember the first time I saw that video
every time i had heard it was those dance videos from elementary school
nvm you aint getting shi
I didnt know it was real
rude...
because the specification says i need two separate servers for redundancy
the other server can just be my computer
what specificiaton
dns...
The DNS requires that all zones be redundantly supported by more than
one name server.
two or more
Get it reported
a lot of domain providers (incl cloudflare) provide 4
man ive never heard of these records before
oh cool
i didnt know dns could report that
ooo
so like that one time i accidently made google flag me as a botnet?
Yeah lmfao
google.com.<root>
imagine if real ones just give bogus
DNS servers have a special error code (5) which means Refused
oh shit I remember now on windows it had the operating system under the dns thing
so they can probably just deny the request
on my school computers
does it say refused is for when its denied it sounds like something special
goddamnit why is writing to a loop device freezing my whole fucking computer
when a request can't be done by DNS server policy, like disallowing a range of IPs
Womp
GUYS OMG
My laptop has the bios beep
It can beep owo
My efi computer from 2012 doesn't even have a beeper but my laptop does
My laptop has the beeper
im gonna haved to do arch
cuz I broke my debian installation (took a while)
im actually surprised it lasted that long with how badly I was fucking with it
and it turns out the debian installer
wont let you install to a fuckin uhh
windows partitioned drive
so I guess its arch time
and it just got nvidia utils which ubuntu had but debian didnt??? I couldnt find any package with nvidia-utils for some reason and I needed it to setup my 2nd monitor because fucking bitchass nvidia
woah I just realized I rpoabbly couldve tried to turn on vga compatibility mode and gotten a unaccellerated second monitor without the shitty nvidia-utils thing
the ammount of questions im seeing in linux servers with "help setting up nvidia xx" "nvidia xx broken" and I dont see any amd ones
whats crazy is that my amd integrated graphics worked fucking flawlessly in debian
and i had to wait fuckin like 10 minutes for the nvidia drivers to install and all that shit
I think the only thing with amd was that I had to get mesa which was fully open source and is even a better implementation than windows. and it installed in fuckin seconds
aaa
amd is a fucking w
Just use windows
No shit āthis decline [in the capability of LLMs to perform logical reasoning through multiple clauses] is due to the fact that current LLMs are not capable of genuine logical reasoning; instead, they attempt to replicate the reasoning steps observed in their training data.ā
Paper from Apple engineers showing that genAI models donāt actually un...
Seems about right
w
llm things are just auto-complete tricked into auto-completing entire conversations
I wanted to watch it but I had 2 hours to see it and was too scared of the grass š
what
It happen on Thursday
My dumbass missed it š
SMALL
did you write this
your the type of person to make an entire fucking os
#1126483058187579513 message
WHICH IS WHY SHE DEF WROTE IT ! ! !
#general message
HAHAHAHAHHAHAHAHAHHAHAHA
MY UEFI PROGRAM IN ADA WORKKKKSSSSS
This is my first ever test of a bare metal program I wrote on real hardware
self torture
how
vm
š„ŗ
python seems to fucking hate me
import math
sideA=0
sideB=0
sideC = 0
def solver(A,B):
C = (math.pow(A,2)) + (math.pow(B,2))
sideC = math.sqrt(C)
return sideC
SideA = float(input("Enter the length of side A: "))
SideA = float(input("Enter the length of side B: "))
print("sideC:",str(solver(sideA,sideB)))
no clue why that wont work
you set SideA twice and with the wrong capitalization
import math
sideA=0
sideB=0
sideC = 0
def solver(A,B):
C = A ** 2 + B ** 2
sideC = math.sqrt(C)
return sideC
sideA = float(input("Enter the length of side A: "))
sideB = float(input("Enter the length of side B: "))
print("sideC:",str(solver(sideA,sideB)))
thanks
uhm ackshually you forgot the two blank lines after the last line in the solver function š¤āļø
ok now make bootloader
Rn Iāve run into a roadblock with how functions are executed
(they run indefinitely)
error: PHDR segment not covered by LOAD segment
i really need to write my own linker script
linker script is arcane syntax
with the new commands a linker script isnt needed
HOWEVER
i am noticably lacking certain sections in my PE file
you didnt??
why would gnuefi's work
lol
Slowly learning how to use windows.h š¼ (there is probably an easier way of app development)
Anyone else See GitHub Universe? Theyāre doing free virtual tickets, looks neat
kms
who designs an API that makes absolutely everything a partial
when in reality it's present
i have to use non-null operators fucking everywhere for no good reason
naw windows.h is the best
I didnt like it at first but after a little bit I started loving the beauty of it
linux api even though its many things made by unrelated people and even sometimes not even for linux is still better tho
oh god lmao
Probably true, but wouldn't .NET be far more efficient?
.net is bloat as far as im concerned
doesnt even come built into windows man
and windows.h is just a library to windows syscalls, I cant imagine that being slower than .net
Yeah, its certainly the fastest but I would assume that most companies would create their own framework to streamline the process
I don't imagine most of them using just C
and they do
well they would probably use something like sdl or glfw
idk
sdl and glfw have bindings to like every language
we love glfw
glfw ends with win
printf is so elegant its the best
its unsafe but who tf cares
I wish there were less safe languages and more unsafe langauges
gotta write in x86 on kernel mode for the best experience
fr
if I had to teach someone programming I would start from assembly
"wahts a function?" oh it just runs call and ret for you
I will always have to read the register cheat sheet
"which register should I use?" all of them ā¼ļø
fr fr
well they get confused because the registers have labels
and some of them are pointers
yeah
I meant like all the tutorials and books give the registers labels but dont say that you can actually use most of them for anything you like
rapid manufacture of magic smoke
CPU turned into a smoke machine š
Someday, I will rewrite NT into Roblox š«”
and we will have world peace
nothing better than having a whole ass virtual machine within Roblox
ooh
all ive done was make a video player
this might be controversial, but JavaScript and Lua have so much in common with syntax š
fr??
huh
TypeScript adds type syntax to JavaScript; similarly to how Luau adds type syntax to Lua
the humble calling convention!
my JVMs have full instruction support
w
theyāre just a bit iffy on the intrinsics, which leads to data corruption in big programs (not good)
oof
wait if java runs on instructions whats stopping someone from making a java cpu
holy shit
also BTW
you donāttttt wanna do that
You're so right, I should make my own OS kernel for Roblox š”(simulated obviously)
thats more reasonable
Anyone got any good resources on how to make a website that doesnāt look like it was made in 1999, idk if thereās like some framework or library that your supposed to use.
My programming experience is python and C++ webstuff is way outside of my comfort zone but I figure itād be good to know
on the topic how do i make a website that looks like it was made in 1999, i need what you dont want :D
i have and this was the best i could do lmao
have you tried changing the font style
i might play around with that
i figured there might be some library that makes it easier
Change the button style with css, colors, format
no just learn how they do it
css
those frameworks and librarys are fuckin bloat š
Ight, thanks for the info. I'll look into it later, ive come up with a much much more important project i need to figure out before doing any other programming project period.
omg YES i need this
you could try learning tailwind
it has a really modern look but it's got a weird system to it
overall CSS libs are too generic or are too specific and it doesn't get you a style
if you learn CSS and design yourself then you can build your own brand
I've done it many times
Thanks, Doesnt need to be too crazy honestly, just want something i can throw random stuff like that tinkers calculator on, post info on myself and projects im working on. Really the only requirement is that im using HTML + CSS + JS For frontend and Python Django for backend.
if you don't care about being generic bootstrap is a really popular library
it's very generic and mainly used for internal apps but it works great
I'll look at tailwind and bootstrap
bootstrap would be easier imo
good to know, i've heard of it back when i first got into programming since the python course i did had us briefly look over it. but then i went towards more desktopy/ backend and ML stuff rather then web things
I am returning to C#
C# my beloved
C# is more like java than C++ but it does carry some C++ features
you can do manual memory management but you have to configure it to work that way
thats cool
If cool URIs don't change, maybe they shouldn't be managed by landlords and rented on a year-to-year basis.
(it seems to me that avoiding link rot should be treated as a platform issue, not a slogan for scolding people who didn't successfully predict the future or treat a webpage as a lifelong commitment)
does anyone know what this person means
Probably like renting domains and how they expire I guess
And then old sites becoming unavailable
what do they expect to do
use the internet archive or something, the internet isn't gonna pay for your computing fees
this is weird
like to me it looks like ```js
function getSomething(x) {
const { something } = await x;
return something;
}
because it is
awaiting a sole function parameter just looks off to me
because it technically is a promise
but
eugh
also syntax sugar my friend did :3
this is very gay
yeah
wdym by this
its not mine š
oh š
no way this is how i did it first too
except mine had a lot more optionals and i'd never use [1]
AAAAAAAAA
š§
with Ada.Strings.Unbounded; use Ada.Strings.Unbounded;
type Dialog is record
Response : Unbounded_String;
PositionName : Unbounded_String;
end record;
type Dialog_Array is array (Natural) of Dialog;
there u go
in language you can understand
no way
aera actually writing ada code unironcially...
just speaking to you in your language
though thats invalid
no its not
it is
hold on
im talking about the array (Natural) part
@umbral monolith "who thought making the epoch signed was a good idea" the guys who wanted to represent dates before Jan 1 1970 00:00
reinterpreting the epoch as a modular type and then setting the base to the max negative of the signed epoch š»
if i ever make a file system i wanna make the base time unit a planck time
are we programming
in Ada
i love programming
INDOCTRINATION
programming 
whats that :(
a terrible arcane language from the 1980s
im sold can we use it for all qs operations moving forward
rust better
it IS certified to run in airplanes and military equipment so
certify it and it's safer!!
nope that's spark
ada 83 is literally used in fighter jets
SPARK is no-error assured, doesn't mean ada is unsafe!
whats that
itās very innovative trust me
https://github.com/ribbonette/ribbon
oh i just received terrifying news
what does it do
(at a high level)
currently it has a limited form of āverificationā, instead called syncing
thereās a lot planned
this is true,,,
Open me a port you wonāt
remove the table/button styling for HTTP1 consistency š
itās so much better than mellowās dashboard
https://media.discordapp.net/attachments/1105062029087227914/1242116522588246106/image.png?ex=6717b1a8&is=67166028&hm=23831f151243ac088baad3db898b413921ea13091f776b04ca4222b1836d121d&
only image i could find quickly š
@lyric mesa this is an example that made me think ada was kinda neat
with Ada.Text_IO; use Ada.Text_IO;
procedure Your_Mom is
type Expr;
type Expr_Acc is access Expr;
type Expr_Type is (Addition, Subtraction, Value);
type Expr (Kind : Expr_Type) is record
case Kind is
when Addition | Subtraction =>
Left, Right : Expr_Acc;
when Value =>
Val : Integer;
end case;
end record;
function Eval (Ex : Expr) return Integer is
begin
case Ex.Kind is
when Addition => return Eval (Ex.Left.all) + Eval (Ex.Right.all);
when Subtraction => return Eval (Ex.Left.all) - Eval (Ex.Right.all);
when Value => return Ex.Val;
end case;
end Eval;
E : Expr := (Addition, new Expr'(Value, 2), new Expr'(Value, 3));
begin
Put_Line (Eval (E)'Image);
end Your_Mom;
access Expr is akin to &Expr and .all is akin to a dereference

it Spreads
props to you for figuring out type Expr;
it took me months to figure out deferred types because i never had a reason to use them until i worked with the EFI š
it's literally in the learning thing š
I SKIP AROUND IT
i've never once sat and read a tutorial start to finish cause either i lose memory of it or i get bored
i have to actually write and refer to it until i have it imprinted
but uh
one thing i should say
you're overusing access types
in that example above?
well that was kinda adapted from the learning thing so...
they're generally things you should try to avoid though
well how would you implement that without access types then?
lemme open my adb file
am i allowed to modify how it works or should i keep the structure of the records
Uh as long as the functionality remains the same
being able to represent strings of arithmetic and evaluate them
so you should still be able to
E : Expr := --- ...
and in some way or another do
Eval (E);
@spare quartz im curious, can you modify types that aren't yours in Ada
for example, in Rust, you can impl a trait for any type, even ones that arent yours
trait MyTrait {
fn my_fn();
}
// u32 is not my type
// (it's in the stdlib)
impl MyTrait for u32 {
fn my_fn() {
// ...
}
}
depends
you can make a function that uses some other type but i'm not sure on all the limitations
I guess with Ada you don't program in that style that you do in Rust
so you can just make functions that do things with other objects
how is this coming along lol
cod
with Extensible_HTTP;
with Ada.Text_IO;
procedure Basic_Http_Server is
type Expression_Type is (Addition, Subtraction);
type Expression (Action : Expression_Type) is record
A, B : Integer;
end record;
function Evaluate (Self : Expression) return Integer is
begin
case Self.Action is
when Addition => return Self.A + Self.B;
when Subtraction => return Self.A - Self.B;
end case;
end Evaluate;
Add_2_And_3 : constant Expression := (Addition, 2, 3);
Add_Last_Plus_5 : constant Expression := (Addition, Evaluate (Add_2_And_3), 5);
begin
Ada.Text_IO.Put_Line (Add_Last_Plus_5.A'Image);
Ada.Text_IO.Put_Line (Evaluate (Add_Last_Plus_5)'Image);
end Basic_Http_Server;
ignore the file name this is apart of that project
Ok so
Even though you can get around this by just writing the appropriate code
This misses the ability to nest Expressions
then you make a new type Treed_Expression that does it with accesses
Or yknow just make Expression itself use accesses :3
no!!!
5 * (5 - 3)
Evaluate ((Multiplication, 5, Evaluate ((Subtraction, 5, 3))))
so much better
because then you can just evaluate things like a tree
yeees
I will say that having Expr (Value, #) is a bit clunky though
oh thats vestigial
No no in my example
fixed
oh
Whatās so bad about access types anyways
ooo scary pointers Iām just a wittle programmer I canāt handle pointing to a different memory location
because you can't just throw them at everything!!!
ur vestigial
do you even know what that word means
C programmers on their way to throw them at everything:
yea
yeah well their language is literally just numbers
it makes sense
ā
ā
@spare quartz remind me what plain in <argument-name> does again
just read no write right
give me context
for like, a function?
in is the default access state for a parameter
readonly
out - writeonly
in out - read/write
"Ada does not require that a subprogram declare every exception it can potentially raise." cringeeeeeeeeeeeeeeeeeee
nuh
yuh
package My_Bad_Package is
My_Except : exception;
-- Doc comment: Raises no exceptions :3
procedure My_Bad_Procedure is
begin
-- ...
raise My_Except with "Get trolled!";
end My_Bad_Procedure;
end My_Bad_Package;
-- ...
with My_Bad_Package; use My_Bad_Package;
procedure Main is
begin
-- Oh gee I hope it all goes fine
My_Bad_Procedure;
-- wuh oh! exception!
-- can't do anything else cause I didn't
-- know I'd have to handle an exception!
end Main;
@spare quartz
vs rust
well
maybe tell the library developer not to do that
enum MyExcept {
// Define all possible exceptions here...
SomeType(String),
}
fn my_potentially_bad_fn() -> Result<(), MyExcept> {
// Potentially somewhere in the code
return Err(MyExcept::SomeType("Messages can be added too!"));
// Or on success
return Ok(());
}
fn main() {
let my_result = my_potentially_bad_fn();
// Now I know exactly what could happen!
match my_result {
Ok(()) => println!("Yipee!"),
Err(msg) => println!(format!("Wuh oh! Handled! {msg}")),
}
// .expect is .unwrap but with a message that gets printed
// if the Result is an Err (or the Option is None if you use that)
let my_result_too = my_potentially_bad_fn()
.expect("I could choose to ignore that there could be an Err!");
}
@spare quartz ^
granted you could also end up with this
fn my_really_bad_fn() -> Result<(), MyExcept> {
// Is actually malicious
panic!("Get trolled noob!!");
}
but the solution to that is the same as Ada where you just ask the library developer to not do that
well
However Ada requires you to document the exceptions that could get thrown since the language doesn't force you to declare them in code, Rust doesn't require this kind of documentation since it's encoded in the semantics of the return type
declare
...
begin
...
exception
when others =>
null; -- exception discarded
end;
Still but
sounds like java honestly...
Ada does sound like Java yes
thats because you're not supposed to catch those
So a function could just throw a runtime exception
But now you have to worry "oh is this library function gonna throw some exception that I don't know about"
So if you really wanna be safe you have to wrap every function and procedure call in an exception handler
And pray that the docs are honest
or you could just wrap what you're doing in it
But then you don't get granular error handling
Your 50-line long procedure could catch an exception somewhere and you get no information about where it is or why
but still this is also just subpar
it's much better at least to me to have the confidence that the Rust type system affords you
Like "oh this function returns a u32? it can't error then!"
well i SUPPOSE thats fair
I strongly dislike the try-catch style of exceptions
and really just exceptions in general
I will say this
procedure My_Proc is
begin
-- ...
exception
when Some_Type =>
Do_Something;
when others =>
Cry;
end My_Proc;
is much better than introducing an entire new block
you can just tack it onto the end
rather than having to do a
begin
begin
-- ...
exception
-- ...
end;
end Whatever;
glares at java
cope 'em and seethe (from the learn thing)
ughuguhguhughuguhguhug
beats you up
???
whatis this vsc error
undefined == true
i tried to prove your function earlier about the expr
if this was his actual code I'd believe it
and it just showed a blank error that said that
LOL
yeah I noticed the vsc ada thing is a bit buggy to say the least
gone back to using vim with no lsp...
GNAT studio time
emacs ada modes weren't really great either
ada-mode would complain about something missing every time I opened an ada file and ada-ts-mode always indented 3 spaces, regardless of if that should be the indentation or not
atp
I might have access to gnat pro through my college
how do I get the free gnat studio
no
ššššššššššš
oh
stoopid
build it yourss
NO my macbook will die
In May 2022, AdaCore announced the end of the GNAT Community release in favor of a cleaner and more familiar ecosystem for the Ada and SPARK programming languages, managed by the community: the Alire source-based package manager.
oppressive language!!!
wait so what
this is dead?
o i c
French
well
nothing of value was lost
delay until what kind of black magic is this
waiting my favorite
no no but delay until says it will keep a regular interval whereas delay may drift
i know those are used in threads for stuff but i can't quite wrap my head on how to use them effectively yet
yeah they still wait though
for this
especially these
no clue
tasks in ada are strange
@radiant slate insert your code here
im kinda late but
Lmao I still haven't updated yet
with Ada.Text_IO; use Ada.Text_IO;
procedure Hello_World is
begin
Put_Line ("Hello, world!");
end Hello_World;
DROP PROCEDURE IF EXISTS yeet_person;
DELIMITER //
CREATE PROCEDURE yeet_person(IN person_name VARCHAR(40))
BEGIN
DELETE FROM people as p WHERE p.full_name = person_name;
END //
DELIMITER ;
CALL yeet_person('meownium');
@spare quartz I miss syntax highlighting man
lol
LOL where is this
lmao
aw man I tried to go to the website and im banned
also if I get banned for life, however I die and get revived, can I be unbanned because I served for life?
lololol
their least expensive laptop is 1.2k
thats for ddr4 8 gigs
and intel cpu :ew:
they should totally ban intel cpu's
damn
asm meanwhile




