01:49:25 | * | Avinash joined #nim |
02:16:40 | * | Avinash quit (Quit: Have a nice day!) |
07:41:18 | FromDiscord | <systemblue_whale> In reply to @prestosilver "Huh yeah I'll have": hey are you zig user? |
07:41:24 | FromDiscord | <systemblue_whale> is zig good? |
07:41:30 | FromDiscord | <systemblue_whale> is zig better then Nim? |
07:42:11 | FromDiscord | <systemblue_whale> I heard zig is more like C and have no memory management system.↵and character and string is not comfortable. |
07:42:27 | FromDiscord | <systemblue_whale> but exception is very strong. |
07:42:49 | FromDiscord | <systemblue_whale> and Zig is more like modern C |
07:43:37 | FromDiscord | <systemblue_whale> which language will you choose if you can only choose one in zig and nim |
07:48:51 | Mister_Magister | Man I'm currently trying to pick between zig, nim, crystal and ocaml xddddd |
08:12:53 | FromDiscord | <systemblue_whale> In reply to @Mister_Magister "Man I'm currently trying": I don't know ocaml |
08:13:02 | FromDiscord | <systemblue_whale> but use nim |
08:13:03 | Mister_Magister | nobody does |
08:13:19 | Mister_Magister | nim is functional programming, and my head is programmed to be oop |
08:14:07 | FromDiscord | <systemblue_whale> nim has powerful metaprogrammming↵you can program like functional, opp, procedural |
08:14:37 | FromDiscord | <systemblue_whale> and even you can make rust-like ownership system or variable permission system with metaprogramming |
08:15:16 | FromDiscord | <systemblue_whale> nim is not just functional ↵it's multi |
08:15:37 | FromDiscord | <systemblue_whale> i program like procedural lol |
08:15:41 | Mister_Magister | even languages that are multi heavily lean towards one style |
08:15:46 | Mister_Magister | like all the dependencies/libraries |
08:16:12 | Mister_Magister | like c++ half of the ecosystem is functional the other is objective |
08:16:15 | FromDiscord | <systemblue_whale> I like C like programming and systemcall style value sending system |
08:18:35 | FromDiscord | <systemblue_whale> In reply to @Mister_Magister "like c++ half of": Nim and Zig and Crystal has no eco system |
08:18:51 | FromDiscord | <systemblue_whale> if you really want to ride on flow of ecosystem |
08:19:14 | Mister_Magister | i disagree |
08:19:22 | FromDiscord | <systemblue_whale> I will suggest you rust↵Nim developer is making ecosystem not using and ride on ecosystem |
08:19:41 | Mister_Magister | nah rust is too popular |
08:19:48 | FromDiscord | <systemblue_whale> yes |
08:19:51 | Mister_Magister | i know that rust is probably answer to what i'm searching for but nah |
08:19:57 | FromDiscord | <systemblue_whale> you want unpopular minor language |
08:20:21 | Mister_Magister | not really, i'm looking for c++ but high level |
08:20:23 | FromDiscord | <systemblue_whale> so you and we have to make our eco systems |
08:20:35 | Mister_Magister | i get what you're saying |
08:20:45 | FromDiscord | <systemblue_whale> In reply to @Mister_Magister "not really, i'm looking": Zig is more lowlevel then C |
08:20:48 | FromDiscord | <systemblue_whale> (edit) "C" => "C++" |
08:20:52 | Mister_Magister | i know i know |
08:22:34 | Mister_Magister | crystal is bit larger than nim and its oop goodness, it even has ORM |
08:22:41 | FromDiscord | <systemblue_whale> sent a long message, see https://pasty.ee/HthhBXqv |
08:22:59 | FromDiscord | <systemblue_whale> In reply to @Mister_Magister "crystal is bit larger": what is ORM? |
08:23:08 | FromDiscord | <systemblue_whale> but crystal is for web not app |
08:23:14 | Mister_Magister | no its not for web |
08:23:21 | FromDiscord | <systemblue_whale> ?? |
08:23:23 | Mister_Magister | it compiles to c like nim |
08:23:33 | Mister_Magister | you can do bindings to c |
08:23:37 | FromDiscord | <systemblue_whale> oh really? |
08:23:40 | Mister_Magister | yeah |
08:23:42 | Mister_Magister | https://en.wikipedia.org/wiki/Object%E2%80%93relational_mapping |
08:23:53 | Mister_Magister | basically your objects are database entries |
08:24:04 | FromDiscord | <systemblue_whale> I heard crystal has similar syntax with Ruby and ↵use in backend |
08:24:13 | Mister_Magister | I come from php and without doctrine, doing sql is like ooga booga caveman |
08:24:29 | FromDiscord | <systemblue_whale> Php has Poor Performance |
08:24:38 | Mister_Magister | it does have similar syntax to ruby but it compiles to native code, thats why its good |
08:24:40 | FromDiscord | <systemblue_whale> (edit) "Performance" => "performance" |
08:24:44 | Mister_Magister | its aight |
08:25:05 | FromDiscord | <systemblue_whale> It's like Ruby version Nim |
08:25:11 | FromDiscord | <systemblue_whale> and has oop |
08:25:21 | Mister_Magister | yeah (crystal) |
08:26:28 | FromDiscord | <systemblue_whale> but Crystal and Nim both has no proper GUI Framework |
08:26:54 | Mister_Magister | yeap, crystal has quite recent qt5 bindings, nim quite old |
08:27:30 | FromDiscord | <systemblue_whale> nono |
08:27:34 | FromDiscord | <systemblue_whale> Nim has gintro too |
08:27:42 | FromDiscord | <systemblue_whale> and Crystal has Qt binding? |
08:27:44 | FromDiscord | <systemblue_whale> Qt? |
08:27:46 | FromDiscord | <systemblue_whale> not GTK? |
08:27:47 | Mister_Magister | ye |
08:27:53 | FromDiscord | <systemblue_whale> I heard Qt is hard to bind |
08:27:58 | Mister_Magister | https://shards.info/github/Papierkorb/qt5.cr/ |
08:28:18 | FromDiscord | <systemblue_whale> and would you search about gintro ↵that GTK3/GTK4 binding of Nim |
08:28:38 | FromDiscord | <systemblue_whale> I think the best way to use Nim(and Crystal) is learning Computer Science and Making Libraries↵like Cryptography, Graphic, Sound, SciMath, Network, POSIX |
08:28:44 | FromDiscord | <systemblue_whale> that's what I'm doing |
08:29:05 | FromDiscord | <systemblue_whale> Nim has SDL and Skia binding and you can make your own GUI Framework |
08:29:05 | Mister_Magister | well i'm looking for something to do my hobby projects in |
08:30:14 | Mister_Magister | i'm just tired of writing 50 lines just to do socket server in c++ |
08:30:35 | FromDiscord | <systemblue_whale> what project?↵web? server backend(to replace PHP(Php has Poor performance)? GUI App? System? |
08:30:40 | FromDiscord | <systemblue_whale> Socket server? |
08:30:44 | FromDiscord | <systemblue_whale> what protocol? |
08:31:35 | Mister_Magister | no not web, for web i have php and i love php (i'm professional). gui also not really, for that i would just use c++ with qt. something guiless I think |
08:33:32 | FromDiscord | <systemblue_whale> hey Socket Server is system programming↵and you must use low level controlable language |
08:33:55 | Mister_Magister | it was just example come on :P |
08:34:04 | Mister_Magister | don't take it too literally |
08:35:06 | FromDiscord | <systemblue_whale> Crystal... ↵Crystal is little high level then Nim |
08:35:35 | Mister_Magister | i'd say both are comparable, nim is famously compiiled python :P doesn't get much more high level than that |
08:39:35 | Mister_Magister | I've written some things in nim already but couldn't get wrap my head around it |
08:39:49 | FromDiscord | <systemblue_whale> sent a long message, see https://pasty.ee/eMjAbCiJ |
08:40:24 | FromDiscord | <systemblue_whale> and Nim is easy to use with Assembly |
08:40:45 | FromDiscord | <systemblue_whale> you might use syscall, then you have to use Assembly |
08:41:09 | Mister_Magister | I don't mind GC and i think you're overcomplicating the whole socket thing |
08:41:19 | FromDiscord | <systemblue_whale> and the strongest point, ↵boehm GC is slow and has low performance↵but Nim's ORC has powerful performance |
08:41:26 | Mister_Magister | I don't care about assembly |
08:41:44 | Mister_Magister | I wouldn't say its slow if its 1% slower than nim |
08:42:29 | FromDiscord | <systemblue_whale> anyway I will recommend you Nim↵ORC and Boehm GC has quite big speed and performance gap. |
08:43:19 | Mister_Magister | not that i really care |
08:43:46 | FromDiscord | <systemblue_whale> anyway have good talk |
08:44:09 | FromDiscord | <systemblue_whale> anyway I will go |
09:01:14 | FromDiscord | <yedco.12> In reply to @Mister_Magister "not that i really": Nim is easier to learn than zig |
09:01:30 | Mister_Magister | sure lets disregard zig |
09:02:00 | FromDiscord | <yedco.12> Even if there aren't too many docs |
09:02:07 | Mister_Magister | i mean i have quite experience with programming at this point, learning syntax is no issue for me, bigger issue for me is wrapping my head around different style of programming |
09:02:27 | FromDiscord | <yedco.12> In reply to @Mister_Magister "i mean i have": Like zig? |
09:02:38 | Mister_Magister | what? |
09:02:52 | FromDiscord | <yedco.12> What style are you talking about? |
09:03:07 | FromDiscord | <yedco.12> Style that nim uses? |
09:03:15 | Mister_Magister | yes |
09:03:15 | FromDiscord | <yedco.12> Or that zig uses? |
09:03:22 | Mister_Magister | more like style thats not php |
09:03:25 | Mister_Magister | or c++ |
09:03:27 | Mister_Magister | OOP classess and stuff, and i know i know nim can do oop but its not real deal |
09:03:46 | FromDiscord | <yedco.12> Yeah nim, has a really good style. I like it. |
09:03:53 | Mister_Magister | yeah i can't wrap my head around it |
09:04:07 | FromDiscord | <yedco.12> That's fine, you go for zig then. |
09:04:12 | FromDiscord | <yedco.12> 🙂 |
09:04:19 | Mister_Magister | i think i'll have same issue with it too |
09:04:26 | FromDiscord | <yedco.12> Lol |
09:04:41 | Mister_Magister | basically anything thats not oop |
09:04:43 | FromDiscord | <yedco.12> I mean i love both syntaxes |
09:04:49 | FromDiscord | <yedco.12> Zig and nim |
09:05:06 | FromDiscord | <yedco.12> Oop is not required always |
09:05:08 | Mister_Magister | yeah i'm not really talking about syntax |
09:05:22 | FromDiscord | <yedco.12> You can use others features to create oop like feel |
09:05:30 | Mister_Magister | forcing oop will do me no good |
09:05:45 | FromDiscord | <yedco.12> Even in golang, you don't have oop |
09:05:53 | Mister_Magister | i know |
09:05:59 | Mister_Magister | everyone moved away from oop |
09:06:01 | FromDiscord | <yedco.12> Better you use pho |
09:06:05 | FromDiscord | <yedco.12> (edit) "pho" => "php" |
09:06:12 | FromDiscord | <yedco.12> Or crystal as you sais |
09:06:16 | FromDiscord | <yedco.12> (edit) "sais" => "said" |
09:06:18 | Mister_Magister | you can't really use php for native apps |
09:06:27 | FromDiscord | <yedco.12> Crystal has good docs |
09:06:32 | FromDiscord | <yedco.12> And a repl |
09:06:56 | FromDiscord | <yedco.12> There many be good books for it too |
09:07:01 | FromDiscord | <yedco.12> (edit) "many" => "may" |
09:07:29 | Mister_Magister | sure but that would also mean staying in my comfort zone which might not be good |
09:07:42 | FromDiscord | <yedco.12> Yes, try crystal |
09:07:48 | FromDiscord | <yedco.12> You will like it |
09:08:00 | FromDiscord | <yedco.12> It has OOP |
09:08:04 | Mister_Magister | i know i said it |
09:08:11 | FromDiscord | <yedco.12> Just like ruby |
09:08:52 | Mister_Magister | i feel like if i were to force myself to understand different style of programming it would benefit me in the long run compared to staying in my comfort zone |
09:11:56 | FromDiscord | <yedco.12> In reply to @Mister_Magister "i feel like if": Then do whatever you want |
09:12:05 | Mister_Magister | yeah thanks you're great help |
09:48:49 | FromDiscord | <lainlaylie> ehm, this is the nim server so obviously the correct answer is "try nim" |
09:51:23 | FromDiscord | <yedco.12> In reply to @lainlaylie "ehm, this is the": Not gonna argue with him again 😮💨 |
09:53:41 | FromDiscord | <janakali> correct answer is try c++ so they will fail miserably and return to Nim with some vigor |
10:23:07 | Mister_Magister | @lainlaylie yeap :P |
10:23:23 | Mister_Magister | oh i already know c++ very well |
10:34:26 | FromDiscord | <griffith1deadly> In reply to @janakali "correct answer is try": try nim with cpp interpop |
10:34:57 | FromDiscord | <tauruuuuuus> In reply to @Mister_Magister "oh i already know": I don't think there's anyone in the world who can say this and I will believe them lol c++ is a behemoth |
10:35:42 | Mister_Magister | i would say its quite simple language but I get what you're saing |
10:35:44 | Mister_Magister | saying* |
10:36:02 | FromDiscord | <tauruuuuuus> agree to disagree |
10:38:00 | Mister_Magister | liek the language itself, the core, has simple principles :P |
10:39:53 | FromDiscord | <yedco.12> In reply to @janakali "correct answer is try": He says, he needs oop, but also want to learn a language to surpass his boundaries |
10:40:56 | FromDiscord | <yedco.12> In reply to @Mister_Magister "liek the language itself,": Okay, can i ask something about c++? What is ebo? |
10:44:09 | FromDiscord | <odexine> the chronos http client is such a pain to use, what do people use for http in chronos |
10:44:12 | FromDiscord | <tauruuuuuus> In reply to @Mister_Magister "liek the language itself,": I completeley disagree lol like just thinking about rule of 0/3/5/7 and sfinae (which are about language semantics)... |
10:44:45 | Mister_Magister | @tauruuuuuus hmmmmmm sure :P |
10:44:45 | FromDiscord | <yedco.12> In reply to @tauruuuuuus "I completeley disagree lol": Why do i think, OP is just a beginner? |
10:44:57 | Mister_Magister | well you think wrong then |
10:45:39 | FromDiscord | <yedco.12> Why don't you try java or c# then? |
10:45:45 | Mister_Magister | why would I |
10:45:52 | FromDiscord | <yedco.12> You need oop |
10:45:58 | Mister_Magister | i didn't say i need oop |
10:46:09 | FromDiscord | <yedco.12> Okay then learn elixir |
10:46:17 | FromDiscord | <yedco.12> You will love the language |
10:46:28 | Mister_Magister | haskell while we're at it |
10:48:35 | FromDiscord | <mitranim> I say start with Forth. It'll blow your mind and expand it |
10:48:59 | FromDiscord | <mitranim> Easiest way to forget OOP 😄 |
10:49:00 | Mister_Magister | APL is the thing! |
10:49:44 | Mister_Magister | naah I'm just pondering |
10:50:02 | FromDiscord | <tauruuuuuus> anyways this is a bit more in line with offtopic i guess |
10:50:23 | Mister_Magister | there's nothing essentailly wrong staying in my oop comfort zone but going out of it could be very beneficial even in expanding my oop understanding |
10:50:32 | Mister_Magister | yeah sorry |
10:57:29 | * | beholders_eye joined #nim |
11:06:15 | FromDiscord | <lainlaylie> In reply to @odexine "the chronos http client": i use it and its fine (though i guess i haven't done anything crazy with it), my biggest issue was having to look through the source code to find out what types and procs exist |
11:20:46 | * | beholders_eye quit (Ping timeout: 255 seconds) |
11:30:30 | FromDiscord | <tapeda> Learn this ofc https://suberic.net/~dmm/projects/mystical/README.html |
12:16:24 | FromDiscord | <prestosilver> In reply to @systemblue_whale "hey are you zig": Zig is probably my go-to now only for the fact that I like the control I get, but it's definitely a preference/rtftj thing since nim and zig are so different |
12:20:16 | FromDiscord | <mitranim> Curious what do you use Zig for? Not a lot of apps need to wring every ounce of perf |
12:21:18 | FromDiscord | <tauruuuuuus> I think ultimately it has to do with what languages is best at solving your domain specifric problem, which one aligns with the cultural background you have in programming (school, work, ecc.), and whhich one you're having fun with |
12:21:49 | FromDiscord | <tauruuuuuus> (edit) "specifric" => "specific" |
13:13:04 | Mister_Magister | @tauruuuuuus I think so too, beside c++ there really isn't much "generic" language, each of them have their specialized niche, like nim is good for small programs/scripting, php is good for website backends, js for website frontends, ocaml is its own category |
13:14:20 | Mister_Magister | you can always say "not thats not true you can do x in y language" but in the end if you do anything outside of what language is usually for and the way its used in, you'll encounter huge amounts of resistance, its possible, sure, but not most efficient |
13:14:40 | Mister_Magister | like doing qt in php, you probably could, but you really shouldn't |
13:16:30 | FromDiscord | <tauruuuuuus> I agree with your view but not with your conclusions on nim |
13:16:55 | Mister_Magister | its just simple example :) |
13:32:27 | FromDiscord | <yedco.12> In reply to @Mister_Magister "<@375951998337417229> I think so": Js can be used anywhere |
13:32:35 | FromDiscord | <yedco.12> Even low level |
13:32:39 | Mister_Magister | doesn't mean it should |
13:32:56 | FromDiscord | <yedco.12> Yeah |
13:36:33 | FromDiscord | <yedco.12> In reply to @mitranim "Curious what do you": Also for performance, nim is faster than zig |
13:36:57 | FromDiscord | <yedco.12> Nim is faster than c++ ,rust |
13:37:09 | FromDiscord | <yedco.12> It may be faster than c |
13:37:32 | FromDiscord | <mitranim> I found and ran one benchmark where Nim was significantly more efficient than Rust, but in larger programs I suspect the answer is "it really depends" |
13:37:51 | Mister_Magister | as with everything :P |
13:38:03 | FromDiscord | <yedco.12> Yes |
13:38:09 | FromDiscord | <prestosilver> In reply to @mitranim "Curious what do you": My next game relies on an in game VM, I can optimize it better if I write a specialized GC, and I doubt many people will want to have lengthy compile times inside a game, so the faster it is the more enjoyable the game |
13:38:25 | FromDiscord | <mitranim> (edit) "depends"" => "depends". (For context: the benchmark was all about allocator behavior. Allocators are swappable in Rust and Zig.)" |
13:38:52 | FromDiscord | <yedco.12> In reply to @mitranim "I found and ran": Yeah zig gives you more control |
13:39:03 | FromDiscord | <yedco.12> But do you need that control? |
13:39:18 | FromDiscord | <yedco.12> (edit) "control?" => "control, is the question?" |
13:39:24 | FromDiscord | <yedco.12> (edit) "question?" => "question." |
13:39:57 | FromDiscord | <prestosilver> I also don't like how fluid nim is, there's like 90 ways to do anything, I prefer forced consistency over possible expression for long term projects |
13:40:53 | FromDiscord | <yedco.12> Nim is like python, perl, lua and such languages, which you want to solve a problem |
13:41:10 | FromDiscord | <prestosilver> https://media.discordapp.net/attachments/371759389889003532/1421854247951139028/Screenshot_20250928_094056_Chrome.jpg?ex=68da8c75&is=68d93af5&hm=787e2774437650c2d6f0e9676739d1d6af85759afd8b5df7900c11c5cb9cf809& |
13:42:40 | FromDiscord | <prestosilver> I don't dislike nim at all just a bit disillusioned from using it too much lmao |
13:42:51 | FromDiscord | <yedco.12> But nim still hasn't gone all out, because people read something bad about creator and hate him. Also they don't like indentation. |
13:43:23 | FromDiscord | <prestosilver> Honestly my dream language would be zig with nims ast level macros |
13:43:42 | FromDiscord | <yedco.12> You can use zig with nim ig |
13:43:56 | FromDiscord | <yedco.12> That would be better |
13:44:37 | FromDiscord | <yedco.12> So you will can use features equally |
13:44:42 | FromDiscord | <yedco.12> (edit) "will" => "" |
13:46:27 | FromDiscord | <yedco.12> There was a time when go wasn't popular, then it became popular from nowhere. So, ig nim will take some time. |
13:47:19 | Mister_Magister | heck you could probably compile c, c++, zig, nim, rust and crystal together |
13:47:37 | FromDiscord | <prestosilver> We love ffi |
13:48:25 | FromDiscord | <prestosilver> Me when I think future proofing is preventing the future rather than helping the code in the future |
13:48:37 | Mister_Magister | we all know nim is best language because only nim got crown |
14:42:00 | FromDiscord | <odexine> In reply to @lainlaylie "i use it and": thats pretty much my annoyance with it right now. i guess ive got it working now in some sense so its good now |
14:42:03 | FromDiscord | <odexine> thanks |
15:28:26 | FromDiscord | <kiloneie> What english does Nim use ? British/US ? |
15:28:33 | FromDiscord | <kiloneie> Need to keep in line. |
15:28:48 | FromDiscord | <kiloneie> My english is... whatever the hells it is... |
16:10:53 | FromDiscord | <Robyn [She/Her]> Nim uses non-British English, I know that for sure |
16:11:00 | FromDiscord | <Robyn [She/Her]> (Color vs Colour) |
19:25:43 | FromDiscord | <aintea> let's hope nim3 will be the rise of "rewrite it in nim" |
20:18:57 | FromDiscord | <ieltan> Still waiting for view types to actually work really |
20:21:50 | FromDiscord | <ieltan> Can't wait until pass by ref is actually consistent too since we have `proc(x:var T)` but NOT `proc(x: lent T) `.... instead we have `proc(x {.byref}: T)` or `type T {.byref.}` 🙁 |
20:24:53 | FromDiscord | <ieltan> Can't wait so I can also do `Option[lent T]` and `Option[var T]` but last I've heard the idea is getting replaced by something that uses exceptions... |
20:44:40 | FromDiscord | <Elegantbeef> @ieltan You only need `lent T` for interop though |
20:44:46 | FromDiscord | <Elegantbeef> The `byref` version I mean |
20:46:36 | FromDiscord | <ieltan> Wut |
20:47:47 | FromDiscord | <ieltan> Well nothing can't prevent me from using it for what it's intended to right 🤔 |
20:47:52 | FromDiscord | <ieltan> (edit) "can't" => "can" |
20:48:01 | FromDiscord | <ieltan> (edit) "Well nothing can prevent me from using it for what it's intended ... to" added "not" |
20:48:14 | FromDiscord | <ieltan> (edit) "Well nothing can prevent me from using it for what it's ... intended" added "not" | removed "not" |
20:49:46 | * | hohlerde joined #nim |
20:53:26 | * | hohlerde quit (Client Quit) |
23:04:55 | FromDiscord | <systemblue_whale> how about making GUI framework that has many detail properties of design expression system.↵not just setting colour(rgb) and opacity(a)↵also set reflection and luminescence and material and saturation too |
23:06:36 | FromDiscord | <systemblue_whale> Nim must have unique GUI Framework to succeed |
23:23:24 | FromDiscord | <Robyn [She/Her]> In reply to @systemblue_whale "how about making GUI": sounds like a big task, better to just delegate to an existing library |