|
Practically any standardised language (and many that are not) have libraries that can meet your requirements. I'd say that more depends on the target environment.
On Windows, I would choose C# or C++. On Linux, I would choose C++, Rust, or C# (if the Mono environment meets your requirements).
Having said that, I'm sure that these days you can even find libraries for Fortran and COBOL.
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
Totally agree buddy. I like Zig, but it's not a standardized language yet. It's just so new to the party. So, now I gotta decide if I want to be cool or stable.
Daniel Pfeffer wrote: I'm sure that these days you can even find libraries for Fortran and COBOL. Real talk, there's a masochistic part of me that thinks doing it in COBOL would be funny.
Jeremy Falcon
|
|
|
|
|
Thanks man. It seems to be the best compromise would be to use the C libraries in Zig, but I have years of experience working with C so what's the real gain ya know? Maybe I just need to man up and make a choice already.
Jeremy Falcon
|
|
|
|
|
Just out of curiosity, is Zig binary compatible with C? Can it do COM?
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
Richard Andrew x64 wrote: Just out of curiosity, is Zig binary compatible with C? Can it do COM? Keep in mind I'm still new to it, but the short answer is yes.
From a pure binary perspective it'll be 100% compatible with clang or any compiler using LLVM. There are talks in the future to replace LLVM, but that's no biggie as it'll still support C ABIs. One of the core features is you can easily use a C library in Zig and you can easily use a Zig library in C. So, even if LLVM is dumped, that'll never change.
As far as COM goes. I haven't used Zig on Windows yet, but in theory as long as there are C bindings for COM, you can use it in Zig. You can use the Win32 API, so it should work.
Besides the little tiny "oh that's cool" things, the two biggest sales pitches to Zig are interoperability with C and comptime (which is waaaaaaaay nicer than macros).
Jeremy Falcon
|
|
|
|
|
I agree that interoperability is crucial. Microsoft certainly thinks so. That's why they put so much effort into making Platform Invoke work so well.
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
Richard Andrew x64 wrote: That's why they put so much effort into making Platform Invoke work so well. Only because they put so much effort...
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
I challenge your second requirement for regex. Unless your project is a web based regex explainer/tester, regex is a tool and not an end user visible requirement.
|
|
|
|
|
You can challenge it all you want. That means nothing to me.
Now, I'm just gonna assume you're not flat-out lying about this little CTO thing you got in your bio... But, if you reread the post, I mention needing to handle web requests. Now, can you imagine the need to able to parse a body response that many or may not be what you anticipated? Ever use the web before, where people say they're RESTful but they're not... especially in error conditions?
I could go on, but you already missed the entire point of the post man.
Jeremy Falcon
|
|
|
|
|
breath Jeremy.
Charlie Gilley
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
Has never been more appropriate.
|
|
|
|
|
|
lol, you are clearly passionate about what you are doing. I recognize the psych profile.
Charlie Gilley
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
Has never been more appropriate.
|
|
|
|
|
You know me well, man.
Jeremy Falcon
|
|
|
|
|
OK, so tell me why you hate GO (language not the game).
|
|
|
|
|
I don't. I promise I don't. It has an execution engine that runs at runtime and a garbage collector. I'm looking for a language that doesn't. The nerd in me is looking for raw speed for this app though. I'm sure it's a great language man. Promise I don't hate it.
Jeremy Falcon
|
|
|
|
|
Jeremy Falcon wrote: Zig is to C as Rust is to C++
The main point of using Zig is that according to the author of the language it should encourage the DOD style, i.e., Data Oriented Design. As you rightly said, Zig is comparable with C. Since this “practice” tends to produce “cache-friendly” code, using Zig might be even better than using C, from the point of view of pure computational power. Even with C (and C++) you can write “cache-friendly” code, but you have to be careful how you write it. That said, I don't use Zig, so I may be talking rubbish.
|
|
|
|
|
I'd answer your question in a language agnostic manner. You're not being stupid, but being cautious. To me, whether you need to be that cautious or not is entirely up to you.
You mention that it's a 'personal' project with no time constraints. In the pure sense of that, you can throw caution to the wind and have fun! But, if the definition of personal means that you might hope that it turns into an MVP down the road, I'd stay with the tried and true.
Aside from being the shiny object, would Zig get you where you want to be that much faster? Along with realizing that it may never get to 1.0. Sometimes the back of your head has the right answer even though your eyes may see it another way
|
|
|
|
|
MikeCO10 wrote: To me, whether you need to be that cautious or not is entirely up to you. Good point. Think I'm just in over worry mode, because that's what good times are made of.
MikeCO10 wrote: But, if the definition of personal means that you might hope that it turns into an MVP down the road, I'd stay with the tried and true. Good point. This project is personal to me, but it still needs to function as if it were not. I'll never resale it as I do not want to support it, but it needs to be rock solid no different than a commercial app.
MikeCO10 wrote: Aside from being the shiny object, would Zig get you where you want to be that much faster? Along with realizing that it may never get to 1.0. Sometimes the back of your head has the right answer even though your eyes may see it another way You speak from experience.
I'll admit I did get caught up in the new shiny object thing a bit since AFAIK there hasn't been a viable "C 2.0" as it were until now IMO. I'm pretty sure they're serious enough to take it to 1.0, but yeah you're right... either way it's a gamble.
Jeremy Falcon
|
|
|
|
|
Stick with C or move to C++.
We also now have Rust.
Anything else and you could be risking more than you would want...
Steve Naidamast
Sr. Software Engineer
Black Falcon Software, Inc.
blackfalconsoftware@outlook.com
|
|
|
|
|
Wordle 1,162 3/6*
⬜⬜⬜⬜🟨
🟨🟩🟩🟩⬜
🟩🟩🟩🟩🟩
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
⬜⬜⬜⬜🟨
⬜🟩⬜⬜⬜
🟩🟩⬜🟩⬜
🟩🟩🟩🟩🟩
Didn't think this was an English word
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
I know what you mean, but it's the US spelling again.
I dithered for a while before tying it because I couldn't think of any other words that I hadn't eliminated. Looks odd without a second word after it, or a double letter!
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Mechanical Engineers often use this word, but with six letters instead of five. I too didn't think it was an English word.
|
|
|
|
|
Wordle 1,162 4/6
⬜⬜⬜🟩⬜
⬜⬜⬜🟩⬜
🟨🟩⬜🟩⬜
🟩🟩🟩🟩🟩
Within you lies the power for good - Use it!
|
|
|
|
|
What a shocker. What's next, "COLOR", "FAVOR"?
|
|
|
|