Mark Chu-Carroll on Go (programming language)
-
Good. That's a relief to see. What I read in the guys article and the previous one hadn't mentioned that.
¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow
Yeah, and I don't understand that
:=
operator either; I don't know that it is actually useful. I'm still reading the spec and not understanding much of it (parts are difficult to relate to languages I know). It's not object-oriented, but you can write functions in a way that they become methods which seem similar to Extension Methods. Then duck-typing comes in to provide what OO might have provided. I'm not a fan of duck-typing, but that seems interesting. And no Exceptions, but functions can return tuples. Still, the oddest thing so far is the implicit public :confused: -- what if you don't want to start with a Latin character? -
Yeah, and I don't understand that
:=
operator either; I don't know that it is actually useful. I'm still reading the spec and not understanding much of it (parts are difficult to relate to languages I know). It's not object-oriented, but you can write functions in a way that they become methods which seem similar to Extension Methods. Then duck-typing comes in to provide what OO might have provided. I'm not a fan of duck-typing, but that seems interesting. And no Exceptions, but functions can return tuples. Still, the oddest thing so far is the implicit public :confused: -- what if you don't want to start with a Latin character?Yeah, it feels like someone's R&D toy more than anything. The channels and goroutines are admittedly cool, but I can't see how this is something ready to be used other than fooling around with.
¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow
-
Rajesh R Subramanian wrote:
I think that you're completely misunderstood
:-D Story of my life I'm afraid. Oh well there's always posthumous understanding I guess. Some day they'll say "remember old man JohnC, man was he ever right about so much stuff". ;)
"Creating your own blog is about as easy as creating your own urine, and you're about as likely to find someone else interested in it." -- Lore Sjöberg
Most everyone is right about a lot of stuff. It's the ones that are wrong about a lot of stuff that you gotta watch out for.
Visual Studio is an excellent GUIIDE.
-
Yeah, it feels like someone's R&D toy more than anything. The channels and goroutines are admittedly cool, but I can't see how this is something ready to be used other than fooling around with.
¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow
I finished going through the spec and I think the very strangest part is that (unless I misunderstood) for functions with a variable number of parameters you can't specify the type and you need to use reflection to get the values -- crazy.
-
I finished going through the spec and I think the very strangest part is that (unless I misunderstood) for functions with a variable number of parameters you can't specify the type and you need to use reflection to get the values -- crazy.
Do they have reflection? That would be pretty useful if they did, I'd be shocked to find out this was true though!
¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow
-
Do they have reflection? That would be pretty useful if they did, I'd be shocked to find out this was true though!
¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow
Maybe not with a capital-R: " Passing arguments to ... parameters When a function f has a ... parameter, it is always the last formal parameter. Within calls to f, the arguments before the ... are treated normally. After those, an arbitrary number (including zero) of trailing arguments may appear in the call and are bound to the ... parameter. Within f, the ... parameter has static type interface{} (the empty interface). For each call, its dynamic type is a structure whose sequential fields are the trailing arguments of the call. That is, the actual arguments provided for a ... parameter are wrapped into a struct that is passed to the function instead of the actual arguments. Using the reflection interface, f may unpack the elements of the dynamic type to recover the actual arguments. " The spec doesn't go into it further.
-
Not to kick a dead horse, but if you're just starting this the VCF might be of help for the UI and other parts, as it has both threaded functions, and thread pooling (as well as run loops, and various other thread stuff in it, all completely independent from the UI junk).
¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow
Using it in the office is completely out of scope. From all the discussions I've had there, my understanding is that they don't want anything new to come into it for UI. They have valid reasons - as far as their windows UI code is concerned, they have a very large codebase, which is MFC based (some libraries and many components). So, all the new UI should happen with MFC, unless I could prove the need for something different. I've always had a desire to do stuff with VCF (in any of my personal projects), but there's this excuse of not having enough time. But eventually I will do it. :)
“Follow your bliss.” – Joseph Campbell
-
John C wrote:
Story of my life I'm afraid. Oh well there's always posthumous understanding I guess. Some day they'll say "remember old man JohnC, man was he ever right about so much stuff"
:) My only issue with your posts is that you tend to generalize your specific situation to "99%" of developers. Otherwise, I fully agree that for most real-world software, watching for every single CPU cycle is a waste of time. In fact, when I was developing some accounting sowtware in late 1990s I proudly used VB6 and everybody was happy with it.
Nemanja Trifunovic wrote:
I proudly used VB6 and everybody was happy with it.
I'm tempted to use that as my signature, without providing a link to this post in it. :-\
“Follow your bliss.” – Joseph Campbell
-
Using it in the office is completely out of scope. From all the discussions I've had there, my understanding is that they don't want anything new to come into it for UI. They have valid reasons - as far as their windows UI code is concerned, they have a very large codebase, which is MFC based (some libraries and many components). So, all the new UI should happen with MFC, unless I could prove the need for something different. I've always had a desire to do stuff with VCF (in any of my personal projects), but there's this excuse of not having enough time. But eventually I will do it. :)
“Follow your bliss.” – Joseph Campbell
Well I totally understand that. If you ever want some ammunition for using something different just let me know and I can give you some fairly detailed reasons, especially on the Windows platform, as well as some detailed notes on how to partially migrate from MFC to the VCF (unlike Qt, the VCF can be partially integrated into an MFC app so it's not an all or nothing proposition).
¡El diablo está en mis pantalones! ¡Mire, mire! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! Personal 3D projects Just Say No to Web 2 Point Blow
-
Nemanja Trifunovic wrote:
I like Mark Chu-Carroll's[^] writing style.
Me too :) I wonder how long it will take for IronGo to appear? ;P
xacc.ide
IronScheme - 1.0 RC 1 - out now!
((λ (x) `(,x ',x)) '(λ (x) `(,x ',x))) The Scheme Programming Language – Fourth EditionOh goody. Just another way of making the machine do what I say instead of what I want :). The difference, as far as I can tell, is that they've restricted the number of things I can tell it to do.
Good advice is always certain to be ignored, but that's no reason not to give it.