[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y ] [Search | Free Show | Home]

Does it make sense to learn this and base my startup's codebase

This is a blue board which means that it's for everybody (Safe For Work content only). If you see any adult content, please report it.

Thread replies: 38
Thread images: 3

File: golang.sh-600x600.png (69KB, 600x600px) Image search: [Google]
golang.sh-600x600.png
69KB, 600x600px
Does it make sense to learn this and base my startup's codebase for machine learning on it?
>>
>>57823559
There are many reasons for Go. The language is rather new but really stable and doesn't change much, so your code won't break after an update.
Also it's really easy to use compared to more complex languages like C++, while still being relatively efficient. Especially concurrency is really easy to use in Go.
>>
File: 1469326591366.png (407KB, 570x489px) Image search: [Google]
1469326591366.png
407KB, 570x489px
>>57823559
>forces you to use a shitty brace style
>>
>>57824358
I'd use python desu but god it's slow, and C* is shit
>>
>>57823559
>codebase for machine learning
Just use tensorflow
>>
Go lang has a lot of advantages for maintaining code bases, but I'd stick to C++ and use Google's style guidelines.

Google does a good job of nailing that down especially avoidance of exceptions and multiple return values (very easy to deal with in C++11)
>>
>>57824358
>caring about style
>not being 100% indifferent to using Ruby, or python, or JS, or Lisp so long as the technical merits of the language fit the purpose
>>
>>57824421
>>caring about style
So you don't care about readability?
>>
>>57824397
Shit performance outside of CUDA. Is Cython any good?
>>
>>57824643
What are you planning to run your code on? Anything that's not massively parallel FLOPs is not going to work for real machine learning.
>>
>>57824820
Any model that can be found in sklearn + deep neural networks.
Right now I'm using python for everything (sklearn + keras) but I need it to perform better if I want to sell a product
>>
>>57824820
>>57825035
Sorry, misread the question.
AWS c and g/p instances, so xeons CPUs and Tesla GPUs
>>
>>57823559
Yes. Also if you are planning to write some good machine learning things be sure to make a nice library out of it and post it on github. I will sure star!
>>
>>57823559
>declare variable
>don't use it
>will not compile
Go is garbo
>>
>>57823559
If you want to attract hipsters then yes. Make sure you install a slide too. You are basically starting adult daycare. If you want your code base to last decades I would go with a proven technology like C++.
>>
>>57824467
Only faggots read what they code
>>
>>57823559
>machine learning

what exactly are you trying to solve with ML?
>>
>>57823559
What if google decides golang is shit and beyond repair so in 5 years they invent go++ to fix whatever the issue was however it's not compatible with go. Do you maintain the toolchain yourself or accept that you need to port your code to go++ or some other language?

Here languages like C++ have an advantage because they are backwards compatible with a proven track record. Time will tell but going go might be a good decision but it's impossible to tell until a decade down the road.
>>
Yes, it's worth it OP. Some of the top programmers in the world use go and the concurrency is going to really come in handy.

Most of the criticisms of go stem from the fact that it basically won't allow you to make mistakes, which means that there is a lot of error checking and your editor needs to be configured for linting the code. Anyone who maintains critical network software will understand why these safety features are important. People who criticize it for being safe are likely really bad programmers, who probably don't even build tests for their project (which go makes very easy too).
>>
>>57825802
That's actually pretty neat.
>>
>>57825937
You should try actually using go and learning about it for a little while and you would realize retarded that idea sounds.

>>57825802
Why would you declare a variable and not use it? If you use a proper linter in your editor you will catch all these small mistakes before you even compile anyway.
>>
>>57826028
Who the fuck are you for telling me what I can or can't do? I'm the owner of that fucking computer, I'm the dev of my software.
If I want to compile a program with 1000 unused variables then I should be free to do it.
And the only reason that bug exists is because they didn't implement the difference between warnings and errors.
Warnings should only be warnings, they should not stop you from compiling your program.
I'm free to do so.
AM I BEING DETAINED?!?
>>
>>57825969
I'm a consultant with some 30 years in the business. Been at probably 100 different companies and enterprises over the years. I'd say spaghetti code is dominant. You have code bases that can be 3 decades old and the end result isn't pretty. And few in leading positions will say "hey let's refactor this" when it just works.

>>57826028
>You should try actually using go and learning about it for a little while and you would realize retarded that idea sounds.
I've looked at it and it looks fun and interesting and I will probably use it in a personal project of mine. But there have been other languages like D that also sounded like a fun and good idea with a retarded user base claiming it was the next Jesus.

I have nothing against the language go. I just wouldn't base my entire future on "unproven" technology. OP isn't google and doesn't have their economic muscles. He can't afford to fail.

But sure OP should base his decision on what university students browsing /g/ thinks is the future.
>>
>>57823559
Yes. If some adware faggots managed to do it in Python, you should be fine.
/thread
>>
>>57826106
D is better than C++
>>
>>57825879
I'm planning to sell ML services so I'll let the customer decide, I just want something that will not cost me 10x to run because of the shitty interpreter.

Good thread btw, thanks anons
>>
I work in a startup that uses go extensively for all the microservices (basically just "gateway skins" around databases tho). We also do a lot of machine learning, but that part actually happens in C++.

Go is allright, but there are certainly a bunch of things that piss me off about it. If we had to re-do the choice now, maybe we would've gone with rust instead, although I don't know how solid rusts ecosystem is nowadays. Gos support for all the kind of things we need like HTTP (server & client), URI handling, database connections (sqlx w/ postgres), FTP client libraries, AWS libraries etc is all pretty solid.

All in all I don't have huge complains, really, I just keep re-implementing some basic datastructures every once in a while that I would've gotten for free in C++ etc (lack of generics doesn't help, and some of the more advanced datastructures are not available through libraries like in C++ which has boost etc)

I wish the type-system was better and stricter

I feel ambivalent about not having exceptions

deployment is pretty smooth, we just deploy as systemd services with a "let it crash" mentality, more or less
>>
>>57824643
I've maintained some smaller scientific cython codebases, and it's shit IMO

I'd rather write in straight-up C or C++

Cython is just a python-skin for C, it looks like python but comes with all the caveats of C + the extra caveats that if you do one misstep, your performance gets silently degraded from C-level performance to python-level performance, so you constantly have to keep running that tool that comes with it that visualizes how expensive every line is through the compilation process

I would chose cython for cases where I have python code that desperately needs a speedup (and the speedup is not achievable through just using numpy or whatever), but not for a new project
>>
>>57823559
>startup
just burn the money instead. it will end the same way.
>>
>>57825969
go is actually quite poor on the safety features compared to e.g. C++ or any other language that has a stronger, stricter type-system

>>57826014
>>57826028
It should be a warning IMO, not an error. Sometimes when you are just experimenting around and shuffling code and print statements around for debugging etc, both the unused variable and unused import errors can be seriously annoying.
>>
File: 1479368014062_pol.gif (3MB, 309x313px) Image search: [Google]
1479368014062_pol.gif
3MB, 309x313px
>>57826028
I make variables all the time and dont use them while developing and delete them or use them later. In go you have to fucking comment it out if you werent ready to use it. Fucking stupid
>>
>>57828503
>go is actually quite poor on the safety features compared to e.g. C++ or any other language that has a stronger, stricter type-system

Less safe at compile-time, sure since there's no generics.

However, Go is much, much more safe during runtime.
>>
>>57828936
How so?

Unless you're using raw pointers in C++ (which is a generally discouraged thing in modern C++ -- you are supposed to use containers/std types or smart pointer types, if you have to) there isn't much more room to fuck up at runtime in C++ compared to Go.
>>
>>57828969
Pointers in C++ still happen a lot more than package-unsafe happens in Go.

If you are writing correct RAII, smart pointers etc, then sure your code will be safe and never leak memory. But not all C++ code is written this way, and even if so, you are one misuse away from disaster.

Go will never** segfault, never double-free, never use-after-free, never buffer-overrun.

You simply can't say the same things about C++.

[**]: excepting use of package-unsafe (or cgo i suppose)
>>
>>57829120
I don't think memory leaks are generally that security-sensitive of an issue. Sure it's annoying, but they are generally pretty easy to track down. Granted though, even with RAII and smart pointers it is easier in C++ to fuck this up.

double-free, use-after-free and buffer-overruns are also no big problem in C++ if you use the stdlib/containers/smart pointers. For instance std::vectors .at() will perform bounds-checking, std::string is safe unless you call .c_str() etc. You do have to know what to avoid tho (e.g. the unsafe [] operator, raw pointers as returned by c_str() etc), so I guess you have a point there. In practice I don't think it's that hard tho.
>>
Does it work well with React?
>>
>>57828969
Have you ever even fucking used go? C++ allows you to do all sorts of awful things, go just doesn't. Go is a million times safer. Kill your retarded self.
>>
>>57830057

>go is the Nanny State of programming languages

oh, that sounds wonderful
Thread posts: 38
Thread images: 3


[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y] [Search | Top | Home]

I'm aware that Imgur.com will stop allowing adult images since 15th of May. I'm taking actions to backup as much data as possible.
Read more on this topic here - https://archived.moe/talk/thread/1694/


If you need a post removed click on it's [Report] button and follow the instruction.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com.
If you like this website please support us by donating with Bitcoins at 16mKtbZiwW52BLkibtCr8jUg2KVUMTxVQ5
All trademarks and copyrights on this page are owned by their respective parties.
Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
This is a 4chan archive - all of the content originated from that site.
This means that RandomArchive shows their content, archived.
If you need information for a Poster - contact them.