<< 28-09-2025 >>

01:49:25*Avinash joined #nim
02:16:40*Avinash quit (Quit: Have a nice day!)
07:41:18FromDiscord<systemblue_whale> In reply to @prestosilver "Huh yeah I'll have": hey are you zig user?
07:41:24FromDiscord<systemblue_whale> is zig good?
07:41:30FromDiscord<systemblue_whale> is zig better then Nim?
07:42:11FromDiscord<systemblue_whale> I heard zig is more like C and have no memory management system.↵and character and string is not comfortable.
07:42:27FromDiscord<systemblue_whale> but exception is very strong.
07:42:49FromDiscord<systemblue_whale> and Zig is more like modern C
07:43:37FromDiscord<systemblue_whale> which language will you choose if you can only choose one in zig and nim
07:48:51Mister_MagisterMan I'm currently trying to pick between zig, nim, crystal and ocaml xddddd
08:12:53FromDiscord<systemblue_whale> In reply to @Mister_Magister "Man I'm currently trying": I don't know ocaml
08:13:02FromDiscord<systemblue_whale> but use nim
08:13:03Mister_Magisternobody does
08:13:19Mister_Magisternim is functional programming, and my head is programmed to be oop
08:14:07FromDiscord<systemblue_whale> nim has powerful metaprogrammming↵you can program like functional, opp, procedural
08:14:37FromDiscord<systemblue_whale> and even you can make rust-like ownership system or variable permission system with metaprogramming
08:15:16FromDiscord<systemblue_whale> nim is not just functional ↵it's multi
08:15:37FromDiscord<systemblue_whale> i program like procedural lol
08:15:41Mister_Magistereven languages that are multi heavily lean towards one style
08:15:46Mister_Magisterlike all the dependencies/libraries
08:16:12Mister_Magisterlike c++ half of the ecosystem is functional the other is objective
08:16:15FromDiscord<systemblue_whale> I like C like programming and systemcall style value sending system
08:18:35FromDiscord<systemblue_whale> In reply to @Mister_Magister "like c++ half of": Nim and Zig and Crystal has no eco system
08:18:51FromDiscord<systemblue_whale> if you really want to ride on flow of ecosystem
08:19:14Mister_Magisteri disagree
08:19:22FromDiscord<systemblue_whale> I will suggest you rust↵Nim developer is making ecosystem not using and ride on ecosystem
08:19:41Mister_Magisternah rust is too popular
08:19:48FromDiscord<systemblue_whale> yes
08:19:51Mister_Magisteri know that rust is probably answer to what i'm searching for but nah
08:19:57FromDiscord<systemblue_whale> you want unpopular minor language
08:20:21Mister_Magisternot really, i'm looking for c++ but high level
08:20:23FromDiscord<systemblue_whale> so you and we have to make our eco systems
08:20:35Mister_Magisteri get what you're saying
08:20:45FromDiscord<systemblue_whale> In reply to @Mister_Magister "not really, i'm looking": Zig is more lowlevel then C
08:20:48FromDiscord<systemblue_whale> (edit) "C" => "C++"
08:20:52Mister_Magisteri know i know
08:22:34Mister_Magistercrystal is bit larger than nim and its oop goodness, it even has ORM
08:22:41FromDiscord<systemblue_whale> sent a long message, see https://pasty.ee/HthhBXqv
08:22:59FromDiscord<systemblue_whale> In reply to @Mister_Magister "crystal is bit larger": what is ORM?
08:23:08FromDiscord<systemblue_whale> but crystal is for web not app
08:23:14Mister_Magisterno its not for web
08:23:21FromDiscord<systemblue_whale> ??
08:23:23Mister_Magisterit compiles to c like nim
08:23:33Mister_Magisteryou can do bindings to c
08:23:37FromDiscord<systemblue_whale> oh really?
08:23:40Mister_Magisteryeah
08:23:42Mister_Magisterhttps://en.wikipedia.org/wiki/Object%E2%80%93relational_mapping
08:23:53Mister_Magisterbasically your objects are database entries
08:24:04FromDiscord<systemblue_whale> I heard crystal has similar syntax with Ruby and ↵use in backend
08:24:13Mister_MagisterI come from php and without doctrine, doing sql is like ooga booga caveman
08:24:29FromDiscord<systemblue_whale> Php has Poor Performance
08:24:38Mister_Magisterit does have similar syntax to ruby but it compiles to native code, thats why its good
08:24:40FromDiscord<systemblue_whale> (edit) "Performance" => "performance"
08:24:44Mister_Magisterits aight
08:25:05FromDiscord<systemblue_whale> It's like Ruby version Nim
08:25:11FromDiscord<systemblue_whale> and has oop
08:25:21Mister_Magisteryeah (crystal)
08:26:28FromDiscord<systemblue_whale> but Crystal and Nim both has no proper GUI Framework
08:26:54Mister_Magisteryeap, crystal has quite recent qt5 bindings, nim quite old
08:27:30FromDiscord<systemblue_whale> nono
08:27:34FromDiscord<systemblue_whale> Nim has gintro too
08:27:42FromDiscord<systemblue_whale> and Crystal has Qt binding?
08:27:44FromDiscord<systemblue_whale> Qt?
08:27:46FromDiscord<systemblue_whale> not GTK?
08:27:47Mister_Magisterye
08:27:53FromDiscord<systemblue_whale> I heard Qt is hard to bind
08:27:58Mister_Magisterhttps://shards.info/github/Papierkorb/qt5.cr/
08:28:18FromDiscord<systemblue_whale> and would you search about gintro ↵that GTK3/GTK4 binding of Nim
08:28:38FromDiscord<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:44FromDiscord<systemblue_whale> that's what I'm doing
08:29:05FromDiscord<systemblue_whale> Nim has SDL and Skia binding and you can make your own GUI Framework
08:29:05Mister_Magisterwell i'm looking for something to do my hobby projects in
08:30:14Mister_Magisteri'm just tired of writing 50 lines just to do socket server in c++
08:30:35FromDiscord<systemblue_whale> what project?↵web? server backend(to replace PHP(Php has Poor performance)? GUI App? System?
08:30:40FromDiscord<systemblue_whale> Socket server?
08:30:44FromDiscord<systemblue_whale> what protocol?
08:31:35Mister_Magisterno 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:32FromDiscord<systemblue_whale> hey Socket Server is system programming↵and you must use low level controlable language
08:33:55Mister_Magisterit was just example come on :P
08:34:04Mister_Magisterdon't take it too literally
08:35:06FromDiscord<systemblue_whale> Crystal... ↵Crystal is little high level then Nim
08:35:35Mister_Magisteri'd say both are comparable, nim is famously compiiled python :P doesn't get much more high level than that
08:39:35Mister_MagisterI've written some things in nim already but couldn't get wrap my head around it
08:39:49FromDiscord<systemblue_whale> sent a long message, see https://pasty.ee/eMjAbCiJ
08:40:24FromDiscord<systemblue_whale> and Nim is easy to use with Assembly
08:40:45FromDiscord<systemblue_whale> you might use syscall, then you have to use Assembly
08:41:09Mister_MagisterI don't mind GC and i think you're overcomplicating the whole socket thing
08:41:19FromDiscord<systemblue_whale> and the strongest point, ↵boehm GC is slow and has low performance↵but Nim's ORC has powerful performance
08:41:26Mister_MagisterI don't care about assembly
08:41:44Mister_MagisterI wouldn't say its slow if its 1% slower than nim
08:42:29FromDiscord<systemblue_whale> anyway I will recommend you Nim↵ORC and Boehm GC has quite big speed and performance gap.
08:43:19Mister_Magisternot that i really care
08:43:46FromDiscord<systemblue_whale> anyway have good talk
08:44:09FromDiscord<systemblue_whale> anyway I will go
09:01:14FromDiscord<yedco.12> In reply to @Mister_Magister "not that i really": Nim is easier to learn than zig
09:01:30Mister_Magistersure lets disregard zig
09:02:00FromDiscord<yedco.12> Even if there aren't too many docs
09:02:07Mister_Magisteri 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:27FromDiscord<yedco.12> In reply to @Mister_Magister "i mean i have": Like zig?
09:02:38Mister_Magisterwhat?
09:02:52FromDiscord<yedco.12> What style are you talking about?
09:03:07FromDiscord<yedco.12> Style that nim uses?
09:03:15Mister_Magisteryes
09:03:15FromDiscord<yedco.12> Or that zig uses?
09:03:22Mister_Magistermore like style thats not php
09:03:25Mister_Magisteror c++
09:03:27Mister_MagisterOOP classess and stuff, and i know i know nim can do oop but its not real deal
09:03:46FromDiscord<yedco.12> Yeah nim, has a really good style. I like it.
09:03:53Mister_Magisteryeah i can't wrap my head around it
09:04:07FromDiscord<yedco.12> That's fine, you go for zig then.
09:04:12FromDiscord<yedco.12> 🙂
09:04:19Mister_Magisteri think i'll have same issue with it too
09:04:26FromDiscord<yedco.12> Lol
09:04:41Mister_Magisterbasically anything thats not oop
09:04:43FromDiscord<yedco.12> I mean i love both syntaxes
09:04:49FromDiscord<yedco.12> Zig and nim
09:05:06FromDiscord<yedco.12> Oop is not required always
09:05:08Mister_Magisteryeah i'm not really talking about syntax
09:05:22FromDiscord<yedco.12> You can use others features to create oop like feel
09:05:30Mister_Magisterforcing oop will do me no good
09:05:45FromDiscord<yedco.12> Even in golang, you don't have oop
09:05:53Mister_Magisteri know
09:05:59Mister_Magistereveryone moved away from oop
09:06:01FromDiscord<yedco.12> Better you use pho
09:06:05FromDiscord<yedco.12> (edit) "pho" => "php"
09:06:12FromDiscord<yedco.12> Or crystal as you sais
09:06:16FromDiscord<yedco.12> (edit) "sais" => "said"
09:06:18Mister_Magisteryou can't really use php for native apps
09:06:27FromDiscord<yedco.12> Crystal has good docs
09:06:32FromDiscord<yedco.12> And a repl
09:06:56FromDiscord<yedco.12> There many be good books for it too
09:07:01FromDiscord<yedco.12> (edit) "many" => "may"
09:07:29Mister_Magistersure but that would also mean staying in my comfort zone which might not be good
09:07:42FromDiscord<yedco.12> Yes, try crystal
09:07:48FromDiscord<yedco.12> You will like it
09:08:00FromDiscord<yedco.12> It has OOP
09:08:04Mister_Magisteri know i said it
09:08:11FromDiscord<yedco.12> Just like ruby
09:08:52Mister_Magisteri 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:56FromDiscord<yedco.12> In reply to @Mister_Magister "i feel like if": Then do whatever you want
09:12:05Mister_Magisteryeah thanks you're great help
09:48:49FromDiscord<lainlaylie> ehm, this is the nim server so obviously the correct answer is "try nim"
09:51:23FromDiscord<yedco.12> In reply to @lainlaylie "ehm, this is the": Not gonna argue with him again 😮‍💨
09:53:41FromDiscord<janakali> correct answer is try c++ so they will fail miserably and return to Nim with some vigor
10:23:07Mister_Magister@lainlaylie yeap :P
10:23:23Mister_Magisteroh i already know c++ very well
10:34:26FromDiscord<griffith1deadly> In reply to @janakali "correct answer is try": try nim with cpp interpop
10:34:57FromDiscord<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:42Mister_Magisteri would say its quite simple language but I get what you're saing
10:35:44Mister_Magistersaying*
10:36:02FromDiscord<tauruuuuuus> agree to disagree
10:38:00Mister_Magisterliek the language itself, the core, has simple principles :P
10:39:53FromDiscord<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:56FromDiscord<yedco.12> In reply to @Mister_Magister "liek the language itself,": Okay, can i ask something about c++? What is ebo?
10:44:09FromDiscord<odexine> the chronos http client is such a pain to use, what do people use for http in chronos
10:44:12FromDiscord<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:45Mister_Magister@tauruuuuuus hmmmmmm sure :P
10:44:45FromDiscord<yedco.12> In reply to @tauruuuuuus "I completeley disagree lol": Why do i think, OP is just a beginner?
10:44:57Mister_Magisterwell you think wrong then
10:45:39FromDiscord<yedco.12> Why don't you try java or c# then?
10:45:45Mister_Magisterwhy would I
10:45:52FromDiscord<yedco.12> You need oop
10:45:58Mister_Magisteri didn't say i need oop
10:46:09FromDiscord<yedco.12> Okay then learn elixir
10:46:17FromDiscord<yedco.12> You will love the language
10:46:28Mister_Magisterhaskell while we're at it
10:48:35FromDiscord<mitranim> I say start with Forth. It'll blow your mind and expand it
10:48:59FromDiscord<mitranim> Easiest way to forget OOP 😄
10:49:00Mister_MagisterAPL is the thing!
10:49:44Mister_Magisternaah I'm just pondering
10:50:02FromDiscord<tauruuuuuus> anyways this is a bit more in line with offtopic i guess
10:50:23Mister_Magisterthere'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:32Mister_Magisteryeah sorry
10:57:29*beholders_eye joined #nim
11:06:15FromDiscord<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:30FromDiscord<tapeda> Learn this ofc https://suberic.net/~dmm/projects/mystical/README.html
12:16:24FromDiscord<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:16FromDiscord<mitranim> Curious what do you use Zig for? Not a lot of apps need to wring every ounce of perf
12:21:18FromDiscord<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:49FromDiscord<tauruuuuuus> (edit) "specifric" => "specific"
13:13:04Mister_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:20Mister_Magisteryou 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:40Mister_Magisterlike doing qt in php, you probably could, but you really shouldn't
13:16:30FromDiscord<tauruuuuuus> I agree with your view but not with your conclusions on nim
13:16:55Mister_Magisterits just simple example :)
13:32:27FromDiscord<yedco.12> In reply to @Mister_Magister "<@375951998337417229> I think so": Js can be used anywhere
13:32:35FromDiscord<yedco.12> Even low level
13:32:39Mister_Magisterdoesn't mean it should
13:32:56FromDiscord<yedco.12> Yeah
13:36:33FromDiscord<yedco.12> In reply to @mitranim "Curious what do you": Also for performance, nim is faster than zig
13:36:57FromDiscord<yedco.12> Nim is faster than c++ ,rust
13:37:09FromDiscord<yedco.12> It may be faster than c
13:37:32FromDiscord<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:51Mister_Magisteras with everything :P
13:38:03FromDiscord<yedco.12> Yes
13:38:09FromDiscord<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:25FromDiscord<mitranim> (edit) "depends"" => "depends". (For context: the benchmark was all about allocator behavior. Allocators are swappable in Rust and Zig.)"
13:38:52FromDiscord<yedco.12> In reply to @mitranim "I found and ran": Yeah zig gives you more control
13:39:03FromDiscord<yedco.12> But do you need that control?
13:39:18FromDiscord<yedco.12> (edit) "control?" => "control, is the question?"
13:39:24FromDiscord<yedco.12> (edit) "question?" => "question."
13:39:57FromDiscord<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:53FromDiscord<yedco.12> Nim is like python, perl, lua and such languages, which you want to solve a problem
13:41:10FromDiscord<prestosilver> https://media.discordapp.net/attachments/371759389889003532/1421854247951139028/Screenshot_20250928_094056_Chrome.jpg?ex=68da8c75&is=68d93af5&hm=787e2774437650c2d6f0e9676739d1d6af85759afd8b5df7900c11c5cb9cf809&
13:42:40FromDiscord<prestosilver> I don't dislike nim at all just a bit disillusioned from using it too much lmao
13:42:51FromDiscord<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:23FromDiscord<prestosilver> Honestly my dream language would be zig with nims ast level macros
13:43:42FromDiscord<yedco.12> You can use zig with nim ig
13:43:56FromDiscord<yedco.12> That would be better
13:44:37FromDiscord<yedco.12> So you will can use features equally
13:44:42FromDiscord<yedco.12> (edit) "will" => ""
13:46:27FromDiscord<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:19Mister_Magisterheck you could probably compile c, c++, zig, nim, rust and crystal together
13:47:37FromDiscord<prestosilver> We love ffi
13:48:25FromDiscord<prestosilver> Me when I think future proofing is preventing the future rather than helping the code in the future
13:48:37Mister_Magisterwe all know nim is best language because only nim got crown
14:42:00FromDiscord<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:03FromDiscord<odexine> thanks
15:28:26FromDiscord<kiloneie> What english does Nim use ? British/US ?
15:28:33FromDiscord<kiloneie> Need to keep in line.
15:28:48FromDiscord<kiloneie> My english is... whatever the hells it is...
16:10:53FromDiscord<Robyn [She/Her]> Nim uses non-British English, I know that for sure
16:11:00FromDiscord<Robyn [She/Her]> (Color vs Colour)
19:25:43FromDiscord<aintea> let's hope nim3 will be the rise of "rewrite it in nim"
20:18:57FromDiscord<ieltan> Still waiting for view types to actually work really
20:21:50FromDiscord<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:53FromDiscord<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:40FromDiscord<Elegantbeef> @ieltan You only need `lent T` for interop though
20:44:46FromDiscord<Elegantbeef> The `byref` version I mean
20:46:36FromDiscord<ieltan> Wut
20:47:47FromDiscord<ieltan> Well nothing can't prevent me from using it for what it's intended to right 🤔
20:47:52FromDiscord<ieltan> (edit) "can't" => "can"
20:48:01FromDiscord<ieltan> (edit) "Well nothing can prevent me from using it for what it's intended ... to" added "not"
20:48:14FromDiscord<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:55FromDiscord<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:36FromDiscord<systemblue_whale> Nim must have unique GUI Framework to succeed
23:23:24FromDiscord<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