Go

Ryan Kelly
Ryan Kelly

Now that the dust has settled let's discuss Go.
What's your opinion of it?
Will it replace any other languages?
Will it see widespread use?
Are you a gopher yet?

All urls found in this thread:
https://golang.org/pkg/math/#Min
https://golang.org/pkg/math/#Max
https://golang.org/pkg/math/#Min
https://golang.org/pkg/math/#Max
https://github.com/kubernetes/gengo
https://www.cockroachlabs.com/blog/rounding-implementations-in-go/
https://docs.oracle.com/javase/6/docs/api/java/lang/Math.html#round%28double%29
https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html
https://play.rust-lang.org/?gist=b80b27abdef7bee9b2e7f72985e14a40&mode=release
https://golang.org/pkg/crypto/
https://golang.org/pkg/net/http/
https://play.golang.org/p/i40wQWVC3JC
https://play.golang.org/p/HsUzdkOtSy3
https://www.youtube.com/watch?v=ENLWEfi0Tkg
https://hooktube.com/watch?v=ENLWEfi0Tkg
https://golang.org/pkg/math/#Abs
https://play.golang.org/p/mPl36YqRQgI
https://gopherproxy.meulie.net/sdf.org/0/users/kickmule/unix/unix_haters_ml_2.txt
https://play.golang.org/p/ftsthRx3mgQ
Cooper Barnes
Cooper Barnes

I have yet to write a meaningful program in any language, let alone your meme language. I can however do this:


#include <stdio.h>
int main(void)
char OP[6]='faget';
printf("ur a %s", OP);
return 0;
}

Hunter Jones
Hunter Jones

this doesn't even compile you dumb nigger

Cooper Garcia
Cooper Garcia

then I'll just go
print("ur a faget")

Landon Mitchell
Landon Mitchell

You are still a nigger. Here try reading this book, it has plenty of examples.

Kevin King
Kevin King

Doesn't have generics because the creators don't want to add them... y-y-you don't NEEEEED them!

James Rodriguez
James Rodriguez

better Go than the rest of web dev languages

Lucas Allen
Lucas Allen

Enjoy your error checking :^)

Adam Miller
Adam Miller

having errors in the first place

Ayden Walker
Ayden Walker

enjoy your PHP spaghetti code, Rakeesh :^)

Leo Hill
Leo Hill

replying to yourself

Jaxon White
Jaxon White

Garbage collection should only be in scripting languages. And scripting languages should only be used for scripting.

Justin Lopez
Justin Lopez

Gee I wonder who could be behind this post.
What's your opinion of it?
TBH Go is just a mini-version of what rust does better. Sure it might be easier to transition from java to Go for idiots. But just learn rust if you are going to learn a meme language.
Will it see widespread use?
Yes because jewgle will push it.
Will it replace any other languages?
Maybe java for the pajeets, maybe.

Gabriel James
Gabriel James

learn a beta meme language instead of a meme language that can actually be used
hah

Lincoln Watson
Lincoln Watson

using any meme languages to begin with

James Scott
James Scott

Every tool for it is halfassed and shitty. Still better than any other compiled langage besides Rust

Eli Nelson
Eli Nelson

Go is the first language I don't hate. To me every other language is overly complicated or bloated or some weird abstraction magic.

Pros:
- it is simple to master
- it has anti new feature mentality so you won't end up with fucked up lang spec like C++
- it provides just nice enough abstraction so it is no black magic fuckery behind the scenes
- its faster than most high level programming languages
- compiling and distribution is simple, because it by default creates static binary executable, so just werks
- it doesn't really have any community at all because it is boring language, but still lots of libraries are created
- doesn't shove OOP down your throat
- all the functional features are nicely integrated in the language design mentality and not just bloat only to produce less code like other languages

Cons:
- it is made by C people so it kinda comes with unixy mentality and some things you just gotta do the "worse is better" way, which I personaly like

Luis Mitchell
Luis Mitchell

I'm seriously considering learning it because kubernetes.

Alexander Hernandez
Alexander Hernandez

What's your opinion of it?
Don't have one.
Will it replace any other languages?
It has been around for 8 years, was designed by two legends of computer science, and is backed by one of the wealthiest and most influential tech companies in the world. If it hasn't by now, it probably won't.
Will it see widespread use?
It has been around for 8 years, was designed by two legends of computer science, and is backed by one of the wealthiest and most influential tech companies in the world. If it hasn't by now, it probably won't.
Are you a gopher yet?
No.

Jayden Watson
Jayden Watson

The key point here is our programmers are Googlers, they’re not researchers. They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python. They’re not capable of understanding a brilliant language but we want to use them to build good software. So, the language that we give them has to be easy for them to understand and easy to adopt. – Rob Pike>>851351

Ethan Anderson
Ethan Anderson

was designed by two legends of computer science
Name one contribution they made to computer science. What new ideas, algorithms, processes, methods, or techniques were they responsible for?

Christian Kelly
Christian Kelly

UTF-8, I don't think that makes them legends of computer science though...

Jose Taylor
Jose Taylor

Go is Java done well.
But moreso than C#.
Go is Python done well.
But moreso than Ruby (which tried to be Perl done well, so it's a bad example of better-Python in many ways.)
I wouldn't blow my brains out of if I were forced to work with it.
There's some cool stuff written in it, like InfluxDB.
I mostly see it as barely differentiable from the "hey check out my boring language" languages that came out before the wave of "hey check out this COOL RUBY SYNTAX for an actually good language that isn't mine *or* boring". That Rob Pike worked on it doesn't make it interesting. That Google finds it useful doesn't make it interesting.

Hunter Perez
Hunter Perez

Is this bait?

The UNIX we know today that influenced all other unix-like operating systems was one developed by Ken Thompson and Dennis Ritchie based on AT&T Unix. Today's OSes wouldn't be anything like they are today if not for their work. Ken also invented UTF-8. Not to mention that C wouldn't exists like it is if it wasn't for B (made by Ken).

Rob Pike is one of the main developers of Plan 9 which is very innovative OS.

Josiah Robinson
Josiah Robinson

UNIX
today
pick one

Matthew White
Matthew White

t. shill

Joshua Turner
Joshua Turner

You completely missed the point.
The UNIX we know today
In this context this means: the last iteration of UNIX which influenced other modern unix-line OSes. I did not mean we should use UNIX today.

Brandon Hernandez
Brandon Hernandez

thread about Go
no positive opinions allowed, we can only bash it

Robert Parker
Robert Parker

You also completely missed the point.
UNIX is and always was shit. The only way it influenced modern OSs was by showing how not to do it.
Rob Pike currently does the same for programming languages with Go.

positive opinions
There is nothing Go does better than already existing languages. Prove me wrong.

Brandon Anderson
Brandon Anderson

UNIX is and always was shit
So you are that pathetic LARPer that keep posting this forced contrarian bullshit. I rarely say this, but get a fucking life. Nobody gives a fuck about your special snowflake opinion that you must insert in EVERY single thread about these subjects.

Owen Taylor
Owen Taylor

Ackchyually this was my first post about UNIX.
Also, not an argument.

William Anderson
William Anderson

There is nothing Go does better than already existing languages. Prove me wrong.
Go is the only programming language that does ALL that:
compile to binary executable by DEFAULT, no need to install dependencies and interpreter/bytecode vm
easy compile for different platforms (only 1 flag needed)
garbage collector
rich standard library
fast compilation
simple pretty much feature complete language that doesn't indefinitely grows more bloat (C++, Java, C#...)
simple in design, easy to master (unlike Rust)
simple abstractions, no need to fuck around with behind the scene magic language does for you (like Python) or need to be overly careful (like with C)
C style syntax (so no Python, Ruby shit)
no OOP
predefined code style, meaning everybody writes the same code style

Name 1 programming language that does all this. You CAN'T. The point is not that Go is the best language, because spoiler, it isn't. No language is the best, it depends on what you want. And I and many others want these things more than new hipster functional feature #431 that will surely innovate programming.

Matthew Howard
Matthew Howard

simple in design
You mean designed for retards?
simple abstractions
Go has no abstractions. It doesn't even have min/max functions.
C style syntax
No
no OOP
Ok. This is actually a positive.

Name 1 programming language that does all this.
Unironically Java. If generics are too hard for you, you can use Java 1.4.

Camden Reed
Camden Reed

java
no OOP
What are you on? Anyway, both Go and Java are shit, but Go is miles ahead of the Java monstruosity; I can actually read it without getting a torticollis because of 400 char wide lines.

Connor Cox
Connor Cox

no OOP
Ok. This is actually a positive.
Learn to read faggot.
400 char wide lines
epic strawman. Java also has code formatting tools.

Andrew Butler
Andrew Butler

You mean designed for retards?
Simple doesn't necessary mean easy. Read on "worse is better", UNIX philosophy, KISS etc...
I would argue anyone who would want overengineered complex languages like C++ and Rust retarded, but hey that's just me.

https://golang.org/pkg/math/#Min
https://golang.org/pkg/math/#Max

Unironically Java. If generics are too hard for you, you can use Java 1.4.
It's like you can't read. Java needs JVM. Failed first thing I pointed out I want. And it is forced OOP garbage. Generics are also one of the worsts things about Java. Obviously generics are useful, but they are not necessary and Java version of generics is horrible.

It's like you can't or won't understand that people want different things as you.

Adam Gonzalez
Adam Gonzalez

https://golang.org/pkg/math/#Min
https://golang.org/pkg/math/#Max
Retard. Look at the function signatures of the math package. All of those are for floating point numbers.
Also why is there no round function? Does Go seriously have no round function for floating point numbers??

Java needs JVM
Protip: nobody cares.
forced OOP garbage
Protip: You can deal with it way easier than with a lack of generics.
Generics are also one of the worsts things about Java. Obviously generics are useful, but they are not necessary
Ok. I also enjoy having to write my own type system that runs at runtime.
Java version of generics is horrible.
agreed
It's like you can't or won't understand that people want different things as you.
see There is nothing Go does better than already existing languages. Prove me wrong.
Where did I say that I cared about what language other people use?

Adam Bennett
Adam Bennett

People actually using Go have to do this ugly hack: https://github.com/kubernetes/gengo
Thanks Rob Pike

Bentley Cooper
Bentley Cooper

All of those are for floating point numbers.
Are you serious right now? Is this too hard for you? Are you trolling?


func min(a, b int) int {
if a < b {
return a
}
return b
}

Also why is there no round function?
It is coming in next version of Go. So in few months. They refused to add it first because it is not hard to do it manually, but obviously it was stupid decision and they acknowledge it and now they are changing it.

Protip: nobody cares.
You don't care. Other people care.

Protip: You can deal with it way easier than with a lack of generics.
What a shit argument. It is a design flaw of the language. No generics is on purpose to try to keep the simplicity of the language. Show me generics in C? Yeah we can't live without them right? And you call other people retarded?

I also enjoy having to write my own type system that runs at runtime.
Obviously I agree with that, but the point is that it is a pointless nitpick. I bet you get all those sweet "original" opinions from /r/programming. Golang devs acknowledged that generics like system would be useful and they are thinking about it for Go2, but personally I would rather have no generics than bad generics.

There is nothing Go does better than already existing languages. Prove me wrong.
Where did I say that I cared about what language other people use?
And I don't care about what you want to use or feel like is shit. The whole point of Go is not that it has a shiny need innovative feature that no other language has. It is a combination of everything that Go does by default that makes is better language than dealing with anything else. I have been programming for 10 years and have been waiting for something like Go for a long time because EVERYTHING else fucking sucks FOR ME. You post in this thread your post: "lol go sucks because I don't like it and that makes it official and objective".

I am still waiting for you to point out 1 language that does everything I pointed out in . Because if you can't give 1 correct example then it means that Go is unique enough to fill the niche.

Elijah Lewis
Elijah Lewis

Are you serious right now? Is this too hard for you? Are you trolling?
No. Are you trolling?
because it is not hard to do it manually
Alright. Write a correct implementation.
muh simplicity
Typical Gotard excusing obvious shortcomings. I'm done arguing with someone who obviously has stockholm syndrome.
I am still waiting for you to point out 1 language that does everything I pointed out in .
I am still waiting for you to point out one thing that Go does better than already existing languages.

Bentley Perry
Bentley Perry

no functional-paradigm support

Jose Roberts
Jose Roberts

All those spelling mistake. I need to go to sleep. Close minded people like you really fucking annoy me to no end. I am still waiting for you to point out one thing that Go does better than already existing languages.
I already did that! I keep telling you. It is the combination of Go features that makes it better programming workflow over other languages. I can output single static binary executable that gets compiled really fast while still having garbage collection and rich standard library. I don't have to eat shitty new features that some retarded committee pushed down my throat because some retarded hipsters shilled for them at conferences. How can you not understand that? Even if some language does 1 thing better and at the same time does 5 things worse that doesn't make it better imo. But that is subjective. It is like you can't understand people like different things. How can you just dismiss that and say it is shit language? It is shit for you personally, so what? I don't care about that, but then stop writing in every thread your retarded opinion like it is a fact. I really hate people like you. Can't have a honest discussion with dishonest person.

Sebastian Mitchell
Sebastian Mitchell

Can't have a honest discussion with dishonest person.
Agreed. I'm still waiting on your round function though.

Henry Perry
Henry Perry

Are you quite literally retarded?
Ah no wait, it's bait. Well done, you got me.

Adrian Brown
Adrian Brown

The key point here is our programmers are Googlers, they’re not researchers. They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python. They’re not capable of understanding a brilliant language but we want to use them to build good software. So, the language that we give them has to be easy for them to understand and easy to adopt.
– Rob Pike

It must be familiar, roughly C-like. Programmers working at Google are early in their careers and are most familiar with procedural languages, particularly from the C family. The need to get programmers productive quickly in a new language means that the language cannot be too radical.
– Rob Pike

Kayden Hughes
Kayden Hughes

This is easiest workaround. The better and official implementation is added next month.

func Round(n float64) float64 {
if n >= 0.5 {
return math.Trunc(n + 0.5)
}
if n <= -0.5 {
return math.Trunc(n - 0.5)
}
if math.IsNaN(n) {
return math.NaN()
}
return 0
}

I am not retarded and why bait? I am 100% serious. What language does all of that out of the box?

I don't understand why this keep getting posted. Rob is simply shilling Go because the simplicity of the language is a plus not a minus. Is like you are implying it is gimped down like VB6 or shit like that.
Essentially what he is saying is that Go code is easy to learn and understand even if you haven't programmed in it before for long period of time, unlike other languages like C++ and Rust...

Oliver Davis
Oliver Davis

Go code is easy to learn and understand even if you haven't programmed in it before
I don't like to associate with certain categories.

Jordan Brown
Jordan Brown

I am going to sleep. It feels really pointless to argue with people that don't want to try to understand some merits of the language. It is not like I am saying it must be the only language and the best. It caters to a certain niche of problems and it solves it really nicely.

Jacob Harris
Jacob Harris

posts incorrect round function
This is exactly why there should be a round function in the standard library. Ironically you BTFO'ed yourself with your claim "rich standard library".
Round(4.503599627370497e+15) = 4.503599627370498e+15
It should be 4.503599627370498e+15.

Read this: Protip: Rob Pike is talking about retards like you.

Kevin Cruz
Kevin Cruz

we're hiring people based on their skin color and gender
but it turns out the colors and genders we hire aren't very good at programming for some reason
in order to get literally fucking anything done around here, we have to make them use a language that's dead simple

Rob Pike may very well be the only one there with any sense, mostly because all the other people with any sense fucking LEFT. So it's just Rob, and Rob is smart so he knows if he shaves his head and wears pink and uses PC language he can avoid being castrated by the HR department. Maybe Rob is a cuck that just couldn't leave Google, or maybe he's a real patriot that still believes in Google after all these years. He knows he can't stop them hiring Pajeets and women, but he knows what he has to do to at least herd them into some semblance of productivity.

Anthony Robinson
Anthony Robinson

It should be 4.503599627370498e+15.
I copy-pasted wrong. I meant 4.503599627370497e+15.

Samuel Rogers
Samuel Rogers

the creators don't want to add them...
More like, they don't know how to add them without making the language spec needlessly complicated, seeing as one of Go's main goals is to be very simple to learn and use, with minimal "magic".
There have been a ton of talks about getting it into 2.0 at least, with different proposals on syntax and shit.

I don't understand why this keep getting posted
You don't seem to know where you are; Holla Forums, like /g/ before it, is filled with snotty elitists that don't actually know how to program. Something being described as "easy" to learn, to them, is seen as "inferior".

Matthew Turner
Matthew Turner

You don't seem to know where you are; Holla Forums, like /g/ before it, is filled with snotty elitists that don't actually know how to program. Something being described as "easy" to learn, to them, is seen as "inferior".
Nice ad hominem, Gopher. Unfortunatley for you it is you Gophers that don't know how to program. See and https://www.cockroachlabs.com/blog/rounding-implementations-in-go/

Carter Ramirez
Carter Ramirez

muh C is best and only!
doesn't know how to write C
Classy.

Henry Flores
Henry Flores

^ Braindead, doesn't see the obvious pattern of mega corporations pushing $LANGUAGE down everyone's throats. Sun with Java, Microsoft with C#, Google with Go, and so on. They do it so they can hire legions of pajeets, because it helps them fill their pockets, while paying less to programmers (that's us btw, you cuck), plus keeping programmers on a tight leash with lots of mandatory overtime and 24h on-call (H1B's can't do shit about it or they get fired and sent home). But wait, that's not all. The software gets shittier and more bloated, because idiots can't be arsed to learn fundamentals of programming so they end up making lots of bugs anyway. That's modern software development and now you see the future: more buggy Intel processors to barely make up for shit, inefficient code. As it turns out, Terry Davis is the sanest one of all.

Isaiah Mitchell
Isaiah Mitchell

ONLY reason that it still exist is because Google hype and paid shills, no other redeeming feature. It does everything badly.

Robert Robinson
Robert Robinson

Did you even read your link?
Finally, correctly rounding floating point numbers is ridiculously hard. It is no surprise that Java was broken for 6 major versions (15 years since the release of the Java 1.0 until Java 7)
The round will be in standard library in 1 month. What is your point?
The solution that you were given works for simple inputs. Obviously if your input is 4.503599627370497e+15 then you must handle more edge cases.

What straw are you going to pull next?

Logan Fisher
Logan Fisher

The round will be in standard library in 1 month. What is your point?
in 1 month
Go is 8 years old
What is your point?

The solution that you were given works for simple inputs.
Is this what peak simplicity looks like?

Andrew Morales
Andrew Morales

Btw did you even the javadoc?
https://docs.oracle.com/javase/6/docs/api/java/lang/Math.html#round%28double%29
Returns the closest long to the argument. The result is rounded to an integer by adding 1/2, taking the floor of the result, and casting the result to type long. In other words, the result is equal to the value of the expression: (long)Math.floor(a + 0.5d)
This is pretty retarded but hardly broken.

Sebastian Garcia
Sebastian Garcia

I don't hate the language. I'm ok with a GC language with the simplicity of C existing. It just doesn't appeal that much to me, and may be overused in some cases.
I can see it being used for glue code for example.

Adrian Watson
Adrian Watson


#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;
int main(){
string msg [20] = {"h", "g", "u", "t", "j", "i", "a", "e", "n", "l", "f", "q", "l", "p", "m", "y", "w", "z", "x", "o"};
int random;
for (int I(2); I < 5; I++){
srand (I);
random = rand() % 20;
cout << msg[random];
}
cout << endl;
return(420);
}

Owen Wright
Owen Wright

how is that related to the post you quoted?

Carter Reyes
Carter Reyes

Go is great for developing microservices because of the concurrency features. Channels and goroutines are ace. I use it for game development, it's a powerful language with a simple syntax (so code is usually "correct"), and GC means I don't have to write a complex system that manually frees random garbage.

Gavin Roberts
Gavin Roberts

using C++ ever
running srand in a loop
function calls inconsistently hugging their ()
repeating the size of the array
returning a value >127 from main()
making an array of one-letter strings instead of using a single string
inconsistent indentation
capital I
dunno what I(2) means but
using C++ ever

Jack Lopez
Jack Lopez

:=

Charles Sanders
Charles Sanders

t. Retard who's never written a line of code in his life and acts like a tryhard over syntactic choices

Luis Perry
Luis Perry

developer for 5 years, technical teamlead for 2
but.. never written a line of code..
Try again.

Zachary Ross
Zachary Ross

Then I can only assume your name is Pajeet, sorry pal.

Jose James
Jose James

Just go back licking google balls, golang faggot. Don't forget to bring your latte.

Ethan Robinson
Ethan Robinson

See? You're clearly a larper. First, you don't make any argument at all ( '> :=' is barely a statement, and that's only by contextual implication), Then you make an assumption about my character because I didn't learn Java at Kharagpur Institute of Technology

Ryder Reed
Ryder Reed

I(2) should be calling the copy constructor of int to initialize I, it's probably allowed for primitives.
You forgot
Initializing a variable for no reason

Kevin Jackson
Kevin Jackson

This.

Eli Cox
Eli Cox


#include <iostream>
#include <random>
#include <string>

int main() {
std::string a{"abcdefghijklmnopqrstuvwxyz"};
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<uint32_t> uniform_dist(0, a.size());
for (size_t i = 0; i < 5; ++i) {
std::cout << a[uniform_dist(gen)];
}
std::cout << "\n";
}

Juan Perry
Juan Perry

Now that the dust has settled let's discuss Go.
Sure.

What's your opinion of it?
It's a nice batteries-included language. The standard library is complete enough to complete nearly any task with a trivial amount of glue code.

Will it replace any other languages?
I hope it will replace Perl, Python, Ruby, Java, C#, and similar languages that are easy to prototype in.

Will it see widespread use?
There are already many users and companies that utilize it. Go isn't perfect but it's certainly a more sane language than most.

Are you a gopher yet?
I've only written small programs in Go but the experience wasn't painful whatsoever. I would write long-running server applications in Go but leave systems applications to C/C++.

Elijah Williams
Elijah Williams

batteries-included language
Typical go user, even talks like a corporate marketing drone.

Matthew Gray
Matthew Gray

What else are you supposed to call a language with a large standard library to differentiate it from one with the bare minimum?

Lucas Martin
Lucas Martin

Bloated.

Juan Baker
Juan Baker

batteries-included language
Typical go user, even talks like a corporate marketing drone.
I cringed while writing that buzzword but it was a relevant way to explain it. Calling it bloat isn't accurate as it doesn't need to be included by default.

The biggest reason I don't use "Go for everything" like shills exclaim they do is that the binaries are over 1mb because the complete runtime is packaged with your application. Garbage collection, debugging, etc is all bundled in. THIS is what I would call bloat.

Ryder Clark
Ryder Clark

Go for everything
I have never in seen anyone who would advocate using "Go for everything". It is common sense to use the "best" (often subjective) tool for the job. Me personally I would never write GUI applications in Go.

Josiah Peterson
Josiah Peterson

Don't reply to him. This person enjoys being contrarian because he finds it funny to annoy other people, clearly indicated by his try-hard behavior in this thread. Don't feed the trolls.

Jack Evans
Jack Evans

I ended up trying to use it for a project at work. I actually found myself enjoying it a lot and got really into it. My other teammates seemed to be having more fun too (one was an old Unix C dev and the other a middle aged Windows dev so I thought it was interesting the enjoyment factor was crossing generational and platform boundaries). Actual development time seemed to be going really quick too, though I guess everything's easier when you're having fun.

Unfortunately, when we were nearly done with the project and gave a demo, we got told to throw it away and redo it because it "wasn't in Java" (this was never stated as an upfront requirement, political enterprise BS). I fucking hate my job now.

Benjamin Morris
Benjamin Morris

batteries-included
no min/max functions for integers. no round function for floats. no insert function for dynamic arrays.
wtf?

Camden Brooks
Camden Brooks

For all of you in the "round" discussion, please take a look at this some point in your lifetime.

https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html

Jayden Butler
Jayden Butler

Yeah that is why there should be a round function in the standard library instead of going full "muh simplicity" and requiring retarded Gophers to implement incorrect rounding functions over and over again.

Nicholas Anderson
Nicholas Anderson

No, I'm serious, it really sounds like marketing speak. Also it's bogus because how the fuck do they know what libraries I'm gonna need? Does it handle graphics and sound like SDL, as well as sprites and playfield functions like say Amiga or TempleOS? I'm betting this batteries stuff is hand-waving where they pretend everyone is making web apps and other boring shit.

Anthony Foster
Anthony Foster

"Go is shit language because I don't agree with <insert_random_nickpick> and every one who uses it is retarded because I said so. retard retard retard lol lol lol"
And when people try to explain to you why they like it and don't agree with your childish complaints, you just keep spamming the same shit, like you want to get a medal in debate. Nobody cares about your random petty complains and when they try to have a proper discussion, you shit this thread with the pointless comments. 25% of all comments in this thread are yours. Completely ruined the thread that could be a good discussion. I don't want an echo chamber but still discussing anything with you is pointless. I feel bad for you man, not trying to be mean. I need to fuck off of chans, I am too old for this shit.

Nathan Hughes
Nathan Hughes

running srand in a loop
dunno what I(2) means but
The point was for it to seed with the latest value. I'm sure there are better ways to do this, but this is semantics.

repeating the size of the array
Where?

returning a value >127 from main()
Do you seriously not get this joke, or am I misreading your sarcasm?

making an array of one-letter strings instead of using a single string
Honestly did this one for the giggles.

inconsistent indentation
I forgot one tab you turbo autist.

function calls inconsistently hugging their ()
I like to space for the if, for, else, and while keywords. Personally it makes it more readable in my probably wrong opinion.

capital I
using C++ ever
Not an argument. What would you recommend then?

Zachary Baker
Zachary Baker

Yeah I'm so childish because I'm not constantly sucking down corporate propaganda about what language is cool in $CURRENT_YEAR and what kind of applications have merit. Batteries aren't included, because it's not a fucking flashlight or other such device. It's a shitty analogy that useful idiots repeat and they don't even get paid for it by the company. I'd be laughing if it wasn't so sad. All these fucking new-fangled corporate-backed language shills are full retards, period.

Carson Ross
Carson Ross

Yeah I'm so childish because I'm not constantly sucking down corporate propaganda about what language is cool in $CURRENT_YEAR and what kind of applications have merit. Batteries aren't included, because it's not a fucking flashlight or other such device. It's a shitty analogy that useful idiots repeat and they don't even get paid for it by the company. I'd be laughing if it wasn't so sad. All these fucking new-fangled corporate-backed language shills are full retards, period.

Also look at this shit:
I hope it will replace Perl, Python, Ruby, Java, C#, and similar languages that are easy to prototype in.
What the fuck is the point of this mentality, where you always want to fucking replace shit with more lame shit just so it can be different? You're fucking retarded! Fucking nigger!

Nicholas Reyes
Nicholas Reyes

<insert_random_nickpick>
childish complaints
Ok. Butthurt Gotard detected.
discussing anything with you is pointless
Agreed

Eli Collins
Eli Collins

If you took 5 minutes to read a little bit about the language you'd know "batteries included" refers to things that are commonly needed but you'd typically need to introduce another dependency for, like crypto or a web server. I'm not saying it covers every possible use case (I think there is a certain amount of built in support in the standard library for SQL databases, but you need a library for talking to MongoDB, for example) but it's pretty good. I would never tell anyone the language is great for everything and can replace every other language, that's just stupid, but there are some cases where it's a really good fit. Shockingly, some choices in life come down to picking the right tool for the job and/or personal preference.

Daniel Martin
Daniel Martin

Go has web server and crypto built into the language?

Carter Hughes
Carter Hughes

meme languages with built in functions encouraging the worst practices of programming resulting in bloated garbage that requires gigabytes of memory and other ridiculous requirements
impossible to maintain spaghetti that you have to pay people to look at
no thx bye

Oliver Murphy
Oliver Murphy

Where are the generics eggman??
You said there would be generics!

some guy writes a silly nonsense joke program
<WHAT IS THIS? THIS IS NOT UP TO MY CODING STANDARDS
autism

Ayden Hernandez
Ayden Hernandez

who are you quoting?

Joshua Carter
Joshua Carter

no built into the standard library, that's what "batteries included" means.

Jayden Anderson
Jayden Anderson

everyone who encourages those practices and Go itself

Liam Cooper
Liam Cooper

So the language is bloated as fuck. Now I'm not programming anything to do with the web, but this gay meme language has all this useless web crap built into it.

Nolan Miller
Nolan Miller

Are you actually thinking before you post? If a feature is in the standard library but you don't use it, then it won't affect the size of your program. If you don't use web related parts of the standard library, you will not be affected by their existence.

Hunter Barnes
Hunter Barnes

I rewrote it in Rust: https://play.rust-lang.org/?gist=b80b27abdef7bee9b2e7f72985e14a40&mode=release use std::ops::{self, Add, Mul, Rem};

macro_rules! range {
(min: $ty:ty, $uty:ident) => {
!0 ^ ((!0 as $uty) >> 1) as $ty
};

(max: $ty:ty, $uty:ident) => {
!range!(min: $ty, $uty)
};

($ty:ty, $uty:ident) => {
impl From<ops::Range<$ty>> for Range<$ty> {
fn from(r: ops::Range<$ty>) -> Self {
range!($ty, $uty, r.start, r.end)
}
}

impl From<ops::RangeFrom<$ty>> for Range<$ty> {
fn from(r: ops::RangeFrom<$ty>) -> Self {
range!($ty, $uty, r.start, range!(max: $ty, $uty))
}
}

impl From<ops::RangeTo<$ty>> for Range<$ty> {
fn from(r: ops::RangeTo<$ty>) -> Self {
range!($ty, $uty, range!(min: $ty, $uty), r.end)
}
}

impl From<ops::RangeFull> for Range<$ty> {
fn from(_: ops::RangeFull) -> Self {
range!($ty, $uty, range!(min: $ty, $uty), range!(max: $ty, $uty))
}
}
};

($ty:ty, $uty:ident, $low:expr, $high:expr) => {{
let range = ($high as $uty).wrapping_sub($low as $uty);

Range {
start: $low,
range: range as $ty,
accept: ($uty::max_value() - $uty::max_value() % range) as $ty
}
}};
}

range!(i8, u8);
range!(i16, u16);
range!(i32, u32);
range!(i64, u64);
range!(u8, u8);
range!(u16, u16);
range!(u32, u32);
range!(u64, u64);

struct Range<T> {
start: T,
range: T,
accept: T,
}

trait Rng<Num: Add<Num, Output = Num> + Copy + Mul<Num, Output = Num> + Ord + Rem<Num, Output = Num>>
{
const MULTIPLIER: Num;
const INCREMENT: Num;

fn state(&self) -> Num;
fn state_mut(&mut self) -> &mut Num;

fn gen(&mut self) -> Num {
let old_state = self.state();
*self.state_mut() = old_state * Self::MULTIPLIER + Self::INCREMENT;
old_state
}

fn gen_range<R>(&mut self, range: R) -> Num
where
R: Into<Range<Num>>,
{
let range = range.into();

loop {
let tmp = self.gen();

if tmp < range.accept {
return range.start + tmp % range.range;
}
}
}
}

fn main() {
const MSG: &[u8; 20] = b"hgutjiaenlfqlpmywzxo";

struct Tmp(u64);

impl Rng<u64> for Tmp {
const MULTIPLIER: u64 = 6364136223846793005;
const INCREMENT: u64 = 1;

fn state(&self) -> u64 {
self.0
}
fn state_mut(&mut self) -> &mut u64 {
&mut self.0
}
}

for i in 2..5 {
print!(
"{}",
MSG[Tmp(i).gen_range(0..MSG.len() as u64) as usize] as char
);
}

println!();
}

Brody Rodriguez
Brody Rodriguez

no insert function for dynamic arrays
They're called slices. Look them up.

Levi Brown
Levi Brown

Why are you correcting me whem I'm right?
But alright I will appease your autism: Do "slices" have an insert function?

Benjamin Ward
Benjamin Ward

https://golang.org/pkg/crypto/
https://golang.org/pkg/net/http/

I actually think the web server is pretty nice, but there are some nice middlewares and libraries that save you time with dynamic routing and other day-to-day things. I prefer Julien Schmidt's httprouter because it's just enough for the stuff I typically want to do, but Chi is really nice from what I've read.

Eli Price
Eli Price


func insert(s []int, i int, x int) []int{
s = append(s, 0)
copy(s[i+1:], s[i:])
s[i] = x
return s
}

Could probably be done with methods but I'm not that great a programmer.

Jason Perry
Jason Perry

gophers who can't even write a correct round function are doing crypto
fucking KEK

Charles Bailey
Charles Bailey

So this isn't in the standard library? You actually have to write an insert function yourself?

Joshua Young
Joshua Young

I just noticed that this works only for ints. So everytime i want to insert sonething into a slice i have to copy and paste this shit because lol no generics?

Jace Fisher
Jace Fisher

Didn't check tbh

Interfaces could probably do it

Alexander Mitchell
Alexander Mitchell

You can append to an array or slice (there's an append function), but I assumed you meant insert to some index i

Chase Martinez
Chase Martinez

Interfaces could probably do it
Hello runtime type exceptions

Luke Davis
Luke Davis

Crypto is the easiest shit to make a library for. You just copy the RFC that says
MD5 must use this algorithm to be called MD5

Jacob Wood
Jacob Wood

Running srand() in a loop isn't "semantics". It's defective. Use your PRNG properly.
You didn't "forget one tab", you indented the entire loop for no reason.
If else while are not functions. Their parens aren't what I was referring to. Fucking hell you can't even see the problems when they're pointed out to you.

Hunter Bailey
Hunter Bailey

It's SJW-Google controlled so, no thank you. I will not waste my time.

Kevin Robinson
Kevin Robinson

see some obvious joke code
REEEEEEEEE YOU ARE DOING IT WRONG

Easton Mitchell
Easton Mitchell

Agreed. What I don't understand is that Gophers defend these poor decisions.

Nathaniel Morgan
Nathaniel Morgan

missing this obvious of a joke
Please see a doctor, you are actually retarded.

Joseph Morgan
Joseph Morgan

shit in own bed
i-it's just a joke mom
wow don't be so autistic as to say what I did was bad
who would shit in bed accidentally? you're dumb for not getting it
captcha: QntHrd

Noah Williams
Noah Williams

/g/index.html

Jackson Anderson
Jackson Anderson

Is it supposed to print "utj"? The C++ one prints fag

David Martinez
David Martinez

implement main0() = println!("ur a ", OP) where {
val OP = "faget"
}
let () =
let op = "faget" in
Printf.printf "ur a %s\n" op
:- module main.
:- interface.
:- import_module io.
:- pred main(io::di, io::uo) is det.
:- implementation.
:- import_module list, string.

main(!IO) :-
format("ur a %s\n", [s(OP)], !IO),
OP = "faget".
Go was a mistake.

Connor Gomez
Connor Gomez

random useless code snippets
Calling it code feels like an overstatement

Alexander Gonzalez
Alexander Gonzalez

Does go has an abs function for integers?
The answer is of course no.

Camden Robinson
Camden Robinson

Who needs a whole function?
https://play.golang.org/p/i40wQWVC3JC

Ethan Wood
Ethan Wood

https://play.golang.org/p/HsUzdkOtSy3
epic

Logan Reed
Logan Reed

Damn. And here I thought I was being clever.

Wyatt Long
Wyatt Long

being clever in go
No. Go is the anti clever language.

Daniel Stewart
Daniel Stewart

maybe he's a real patriot
Damn. If you only knew the real story behind this man's work history.

Henry Powell
Henry Powell

std::mt19937
Patrician.

Leo Campbell
Leo Campbell

slow, bloated and terrible quality
ok

Kayden Morgan
Kayden Morgan

Terrible quality? I thought it was one of the best. Please elaborate.

Hudson Harris
Hudson Harris

https://www.youtube.com/watch?v=ENLWEfi0Tkg
Well, I had never before heard this man talk. It is definitely a disguise. He is a wise man pretending to wear a millennial facade, and you can tell he doesn't even give a damn that it shows it's a facade.

On a related note, I think Upspin sounds like a good idea. What do you think?

Cameron Richardson
Cameron Richardson

Direct linking to youtube should be a bannable offense.

https://hooktube.com/watch?v=ENLWEfi0Tkg

Hunter Thompson
Hunter Thompson

Well terrible is kind of a big overstatement. The quality is good enough for most purposes as long as you seed it right.
The biggest problems of Mersenne Twister are that it has a massive state size (2.5 KiB) and is slow.
For most use cases even a LCG beats the fuck out of Mersenne Twister.

Noah Green
Noah Green

care you elaborate?

Jace Rogers
Jace Rogers

Sorry.

Actually, I can't. But you can start at Volta Laboratory and Bureau and how it ties to the creation of Plan 9 (emphasis on Nine) and the people behind all that.
I do believe Rob Pike is a big picture guy. One of those that help shape the world. What I'm not so sure of yet is whether this is so in a good or a bad way.

Cameron Wright
Cameron Wright

The problem with Upspin is the orwellian centralized key server. There's no security there. Who cares if everything is end-to-end encrypted when all the keys are stored in the same place for Google and the government to peruse at their leisure? It's prototyped on email, but email doesn't need some centralized single server fuckery to work. Why stop at letting users host their own storage servers? Let me host my own key servers too, have many key servers, fuck his "I don't want to split (((the community)))" nonsense.

Xavier Thompson
Xavier Thompson

Yeah, the centralization bit isn't good. But a system like this with a decentralized mesh of key servers would be nice, though.
In the end it doesn't matter, because Normal McNormie is going to use Facebook Cloud(tm) or some such.

Jaxon Moore
Jaxon Moore

because Normal McNormie is going to use Facebook Cloud(tm) or some such
So? That's fine. Let him use what he wants. Who the fuck said we have to cater to him? Linux tried to cater to normalfags for decades and it turned into a fucking disaster.

Ian Torres
Ian Torres

We don't have to cater to him, but systems like the one we're discussing have the potential to make technology work in favor of mankind instead of working for the matrix.
Regardless of whether you consider this is something desirable, my point was that people's intellectual laziness and lack of self-respect is ultimately what fucks this world up.

Literally the reason why we can't have nice things.

Caleb Hughes
Caleb Hughes

*working for the botnet

Isaiah Flores
Isaiah Flores

The Linux kernel never tried to appeal to end users. It is made for servers and embedded.

Anthony Taylor
Anthony Taylor

We are also too poor, hardware has incredibly high fixed costs which makes projects like TALOS almost die and the low variable costs make the oligopolies unassailable. The rich are not going to finance libre hardware for obvious reasons and the commoners have not been robbed of all their money yet and some (very few) might support us. The armboard scammers like rpi etc. do well enogh.

Joseph Gutierrez
Joseph Gutierrez

systemd

Nathaniel Garcia
Nathaniel Garcia

is not part of the kernel?

Liam Collins
Liam Collins

https://golang.org/pkg/math/#Abs

Hudson Turner
Hudson Turner

integer
float64
gopher confirmed pajeet

Owen Baker
Owen Baker

func insert (arr []interface{}, i int, x interface{}) []interface{} {
arr = append(arr, 0)
copy(arr[i+1:], arr[i:])
arr[i] = x
return arr
}

This works with literally anything. `interface{}` is Go's `void *`.

Jackson Rodriguez
Jackson Rodriguez

To be fair they do have int8, int16, and int32 types too.

Charles Thompson
Charles Thompson

float64(int_value)

Anthony Reed
Anthony Reed

tfw your language is so shit you have to resort to unconstrained type erasure to make up for the lack of generics
tfw you pray no one will accidentally pass an x or an arr with the wrong type
"Fuck compile-time errors, run-time errors are good enough for me"
t. rob pike

Michael Gonzalez
Michael Gonzalez

At this point even Typescript looks better than Go.

Easton Torres
Easton Torres

Except that doesn't even compile, because []interface{} is not equivalent to any arbitrary slice.
https://play.golang.org/p/mPl36YqRQgI

Tyler Walker
Tyler Walker

[]interface{}
What the fuck is this shit? That's rust levels of garbage syntax

Gavin Reyes
Gavin Reyes


t := []int{1, 2, 3, 4}
s := make([]interface{}, len(t))
for i, v := range t {
s[i] = v
}

No it isn't, stop tryharding. It's an array of interfaces.

Asher Turner
Asher Turner

Unix is the Go of operating systems.

https://gopherproxy.meulie.net/sdf.org/0/users/kickmule/unix/unix_haters_ml_2.txt

I don't know if Minow is committing the hagiolatry one
associates with the typical weenix unie, but I really feel
that any further mention of the reputed tear-inspiring
beauty, simplicity, symmetry, economy, etc of "V7" (or
whatever) Unix should be cause for immediate and permanent
expulsion from present company.

I've seen quite a number of allusions to some downward
fall of unix even in this forum. Let's get this straight
once an for all: Unix was flawed from conception. Its
entire New-Jerseyist philosophy is flawed. In fact, its
entire "philosophy" is a Source of Evil in the Modern World.

THERE WAS AND IS NO FALLING-OFF FROM A WORLD OF
UNDIVIDED LIGHT. THERE WAS NO GREAT PURE, PRIMORDIAL,
PRELAPSARIAN UNIX. The Unix you see, with which you
struggle, which you curse, is not a diseased and reduced
remnant, but is itself the agent of disease and reduction.

How can one lose sight of that?

I don't regard it a "real" UNIX, then again I wouldn't buy a
"real" UNIX, 1970s software technology is not something I
would want to buy today.

Getting caught up in the "pure" UNIX war will lead you to
restrict yourself to "pure" SVR4 implementations, in the
mainstream camp *only* SUN have gone for this. That in my
view does not make it much of a "standard".

If a vendor decides to do something about the crass
inadequacies of UNIX we should give them three cheers, not
start a flame war about how the DIRECTORY command *must*
forever and ever be called ls because that is what the great
tin pot Gods who wrote UNIX thought was a nice, clear name
for it.

The most threatening thing I see in computing today is the
"we have found the answer, all heretics will perish"
attitude. I have an awful lot of experience in computing, I
have used six or seven operating systems and I have even
written one. UNIX in my view is an abomination, it has
serious difficulties, these could have been fixed quite
easily, but I now realize nobody ever will.

At the moment I use a VMS box, I do so because I find that I
do not spend my time having to think in the "UNIX" mentality
that centers around kludges. I do not have to tolerate a
help system that begins its insults of the user by being
invoked with "man".


Apollo in my view were the only UNIX vendor to realize that
they had to put work into the basic operating system. They
had ACLs, shared libraries and many other essential features
five years ago.


What I find disgusting about UNIX is that it has *never*
grown any operating system extensions of its own, all the
creative work is derived from VMS, Multics and the
operating systems it killed.

Kevin Roberts
Kevin Roberts

Can you fuck off spamming your stupid niche contrarian anti-UNIX bullshit in every thread? Nothing before or since has surpassed it, except maybe P9. But that fucked up by being barely-usable.

Adam Clark
Adam Clark

What if Go was made by Joe Schmoe or Pajeet? What if UNIX didn't have the AT&T name on it?

stupid niche contrarian anti-UNIX bullshit
You have Stockholm syndrome because of marketing bullshit started by AT&T in the 80s. Nothing much has changed from 1992 to 2018. They're still blaming the user, still making crappy programs and telling you it's "simpler", still telling us that bugs and flaws are actually the "real operating system" way to do things.

Nothing before or since has surpassed it, except maybe P9. But that fucked up by being barely-usable.
Nothing has surpassed it in its ability to suck, to waste time, to be barely-usable, to be unfixable, to turn people into corporate shills for AT&T software, to create Stockholm syndrome among users.

If there's one thing which truly pisses me off, it is the
attempt to pretend that there is anything vaguely "academic"
about this stuff. I mean, can you think of anything closer
to hell on earth than a "conference" full of unix geeks
presenting their oh-so-rigourous "papers" on, say, "SMURFY:
An automatic cron-driven fsck-daemon"?

I don't see how being "professional" can help anything;
anybody with a vaguely professional (ie non-twinkie-addled)
attitude to producing robust software knows the emperor has
no clothes. The problem is a generation of swine -- both
programmers and marketeers -- whose comparative view of unix
comes from the vale of MS-DOS and who are particularly
susceptible to the superficial dogma of the unix cult.
(They actually rather remind me of typical hyper-reactionary
Soviet emigres.)

These people are seemingly -incapable- of even believing
that not only is better possible, but that better could have
once existed in the world before driven out by worse. Well,
perhaps they acknowledge that there might be room for some
incidental clean-ups, but nothing that the boys at Bell Labs
or Sun aren't about to deal with using C++ or Plan-9, or,
alternately, that the sacred Founding Fathers hadn't
expressed more perfectly in the original V7 writ (if only we
paid more heed to the true, original strains of the unix
creed!)

My perspective on this matter, and my "reading" of the
material which is the subject of this list, is that the two
are inseparable. The "fundamental design flaw" of unix is
an -attitude-, and attitude that says that 70% is good
enough, that robustness is no virtue, that millions of users
and programmers should be hostage to the convenience or
laziness of a cadre of "systems programmers", that one's
time should be valued at nothing and that one's knowledge
should be regarded as provisional at best and expendable at
a moment's notice.

My view is that flaming about some cretin using a
fixed-sized buffer in some program like "uniq" says just as
much about unix as pointing out that this operating system
of the future has a process scheduler out of the dark ages
or a least-common-denominator filesystem (or IPCs or system
calls or anything else, it -doesn't matter-!)


The incidental -is- fundamental in dissecting unix, much as
it is in any close (say, literary or historical) reading.
Patterns of improbity and venality and outright failure are
revealed to us through any examination of the minutiae of
any implementation, especially when we remember that one
cornerstone of unix pietism is that any task is really no
more than the sum of its individual parts. (Puny tools for
puny users.)




And speaking of revealing patterns of abuse through
observation of detail, has anybody considered that unix
geeks might be Adult Children or Survivors or be permanently
In Recovery? Perhaps they were sodomised by an awk at a
young age, leading to a parodoxical attachment to the agent
of their humiliation? If we could persuade them them to
spend all their time attending pop-psych workshops in the
woods ("Fire in the John"), beating drums and invoking the
shade of Dennis Ritchie, we could keep them away from their
keyboards...

Jaxson Gutierrez
Jaxson Gutierrez

I'd much rather be running something like CP/M or even a straight-up Forth REPL, but frankly Unix is the least worst thing today that actually has the necessary drivers for ACPI, USB, and such unfortunate complexities. At least it doesn't force you to use the desktop shits constantly, so you can boot into a simple text or framebuffer console. Otherwise, TempleOS is the only decent modern thing.

Zachary Moore
Zachary Moore

Have a look at AROS.

Luke Sanchez
Luke Sanchez

the UNIX philosophy is bad
I'll criticize the implementation(s) to prove it
Always the same retarded shit.

Kayden Adams
Kayden Adams

all known implementation(s) are bad
the UNIX philosophy is not bad
It's worse than bad, it's a disease.

Yesterday Rob Pike from Bell Labs gave a talk on the latest
and greatest successor to unix, called Plan 9. Basically he
described ITS's mechanism for using file channels to control
resources as if it were the greatest new idea since the
wheel.

There may have been more; I took off after he credited Unix
with the invention of the hierarchial file system!

Amazing, wasn't it? They've even reinvented the JOB device.
In another couple of years I expect they will discover the
need for PCLSRing (there were already hints of this in his
talk yesterday).

I suppose we could try explaining this to them now, but
they'll only look at us cross-eyed and sputter something
about how complex and inelegant that would be. And then
we'd really lose it when they come back and tell us how they
invented this really simple and elegant new thing...

Last night I dreamed that the Real World had adopted the
"Unix Philosophy."

I went to a fast-food place for lunch. When I arrived, I
found that the menu had been taken down, and all the
employees were standing in a line behind the counter waiting
for my orders. Each of them was smaller than I remembered,
there were more of them than I'd ever seen before, and they
had very strange names on their nametags.

I tried to give my order to the first employee, but he just
said something about a "syntax error." I tried another
employee with no more luck. He just said "Eh?" no matter
what I told him. I had similar experiences with several
other employees. (One employee named "ed" didn't even say
"Eh?," he just looked at me quizzically.) Disgusted, I
sought out the manager (at least it said "man" on his
nametag) and asked him for help. He told me that he didn't
know anything about "help," and to try somebody else with a
strange name for more information.

The fellow with the strange name didn't know anything about
"help" either, but when I told him I just wanted to order he
directed me to a girl named "oe," who handled order entry.
(He also told me about several other employees I couldn't
care less about, but at least I got the information I
needed.)

I went to "oe" and when I got to the front of the queue she
just smiled at me. I smiled back. She just smiled some
more. Eventually I realized that I shouldn't expect a
prompt. I asked for a hamburger. She didn't respond, but
since she didn't say "Eh?" I knew I'd done something right.
We smiled at each other for a little while longer, then I
told her I was finished with my order. She directed me to
the cashier, where I paid and received my order.

The hamburger was fine, but it was completely bare... not
even a bun. I went back to "oe" to complain, but she just
said "Eh?" a lot. I went to the manager and asked him about
"oe." The manager explained to me that "oe" had thousands
of options, but if I wanted any of them I'd have to know in
advance what they were and exactly how to ask for them.

He also told me about "vi," who would write down my order
and let me correct it before I was done, and how to hand the
written order to "oe". "vi" had a nasty habit of writing
down my corrections unless I told her that I was about to
make a correction, but it was still easier than dealing
directly with "oe."

By this time I was really hungry, but I didn't have enough
money to order again, so I figured out how to redirect
somebody else's order to my plate. Security was pretty lax
at that place.

As I was walking out the door, I was snagged in a giant Net.
I screamed and woke up.

Elijah Myers
Elijah Myers

communism is bad
I'll criticize the implementation(s) to prove it
They just need to try *real* communism, eh, user? They'll get it right next time, I'm sure.

Christian Wilson
Christian Wilson

Is this a blog by someone who's never used a computer? They can't read any kind of manual that may come with their OS, so they type "help help help" and random commands until something happens?

I suppose all commands should provide all tangentially relevant output for any kind of arbitrary input.

Landon Wilson
Landon Wilson

Also, ITS' implementation of PCLSRing sounds like utter shit

Justin Price
Justin Price

You forgot the software curse of backward compatibility. And you still don't have any argument against the philosophy itself.

Honestly, most of POSIX and SUS would be fixed if they standardized the tool interface. For example, choose a field separator (\t), a record separator (\n) and don't allow these in any tool output, filename, etc...
You can now do robust shell scripting without all those GNU extensions that allow \0 as a delimiter. There's a lot to improve in stuff like sh and awk, too; on the spot, most of what rc did, but while having fucking elses, and for awk, cut-like field references. There's too much to list, but we really need a POSIX2.

Cameron Ramirez
Cameron Ramirez

float64(int_value)
epic: https://play.golang.org/p/ftsthRx3mgQ package main

import (
"fmt"
)

func main() {
var i = int64(1<<53 + 1)
fmt.Println(i)
fmt.Println(int64(float64(i)))
}

<9007199254740993
<9007199254740992

Logan Gonzalez
Logan Gonzalez

You forgot the software curse of backward compatibility.
AT&T didn't care about backward compatibility. They replaced the existing RFCs and standards with UNIX bugs.

And you still don't have any argument against the philosophy itself.
The philosophy leads to bad programming. It leads to bugs. It leads to duplicate code. It leads to "extending" broken code instead of rewriting from scratch. How many ad hoc text processing "tools" does UNIX need? sed, awk, cut, paste, grep, cat, tac, nl, split, sort, tsort, head, tail, and all the others?

Honestly, most of POSIX and SUS would be fixed if they standardized the tool interface. For example, choose a field separator (\t), a record separator (\n) and don't allow these in any tool output, filename, etc...
ASCII already has standard control characters for separating records and fields, FS, GS, RS, and US. AT&T did not care about the proper use of the ASCII standard. They probably use tabs and newlines because they're intended for human output and UNIX glorifies "munging" human readable text instead of calling APIs to get information.

You can now do robust shell scripting without all those GNU extensions that allow \0 as a delimiter. There's a lot to improve in stuff like sh and awk, too; on the spot, most of what rc did, but while having fucking elses, and for awk, cut-like field references. There's too much to list, but we really need a POSIX2.
Add a useful shell that can do the work of awk better and throw the "tools" in the garbage. POSIX "Shell & Utilities" are now one program, besides compiler software. The "System Interfaces" need a lot of work too. I'd start by getting rid of anything that depends on null-terminated strings.

You speak of 'Un*x' as if was some complete and well formed
entity, particularly when it comes to networking (which was
only glommed on in recent history).

I just loved that what AT*T sold as the "Basic Networking
Utilities" package was UUCP! Basic Networking, yeah right.
For g*ds sake, RFC1 is dated 1969, before Un*x was even
starting taking up disk space.

Please see RFC1288 (one of my favourites of a recent slew
which redefine protocols to agree with unix implementation
bugs.)

Jordan Price
Jordan Price

So, why are normal maps generic but sync.Map isn't???

Austin Lewis
Austin Lewis

Normal maps are a type you define, like map[string]float64, so that keys are strings and values are float64. (Why you would do that is beyond me.
sync.Map is (basically) a map[interface{}]unsafe.Pointer with a hidden mutex (for thread safety), which basically means the keys are generic, and the values are pointers, so it's sorta generic, but means you have to type type assertion shit, because Go doesn't actually have generics.

Disable AdBlock to view this page

Disable AdBlock to view this page