[a / b / c / d / e / f / g / gif / h / hr / k / m / o / p / r / s / t / u / v / vg / vr / w / wg] [i / ic] [r9k / s4s / vip / qa] [cm / hm / lgbt / y] [3 / aco / adv / an / asp / bant / biz / cgl / ck / co / diy / fa / fit / gd / hc / his / int / jp / lit / mlp / mu / n / news / out / po / pol / qst / sci / soc / sp / tg / toy / trv / tv / vp / wsg / wsr / x] [Settings] [Search] [Home]
Board
Settings Home
/g/ - Technology



Thread archived.
You cannot reply anymore.



What are you working on, /g/?
Previous >>65561763
>>
File: daily programming club.jpg (166 KB, 1280x720)
166 KB
166 KB JPG
Why haven't you learned Haskell yet, /g/?

>>65569088
Please use an anime image next time.
>>
>>65569124
Couldn't find any decent anime image so I went with the APL-PL
>>
>>65569124
>Haskell
is strictly academic wankery that is of little use in production in the real world
no need to prove me wrong, you already know deep inside it's true
>>
>>65569160
So you only learn a programming language because people in 'production' use it? Sad.
>>
>>65569160
https://wiki.haskell.org/Haskell_in_industry
>>
File: SadApe.jpg (30 KB, 368x421)
30 KB
30 KB JPG
>>65569185
>Sad.
t. trumpler
>>
>>65569202
rent free motherfucker
>>
>>65569190
>no mention of haslel
>*was* a contractor, now they ded
>prototype
>using Ocaml and *a bit* of haskell
>We use Haskell and clojurescript, all stitched together with nixos. We're totally not practicing meme-based development

>>65569304
of course, trumpler is my spirit animal
>>
>>65569324
https://github.com/Gabriel439/post-rfc/blob/master/sotu.md
>>
>>65569324
Who are you quoting?
>>
>>65569330
Ooh, I remember that one. Good resource, calls a spade a spade when needed.
>>
>>65569332
the link I replied to
>>
File: d3c11ff6.jpg (10 KB, 309x320)
10 KB
10 KB JPG
I'm doing a thing for Android and I've been having trouble with retrieving data from Firebase. Basically I'm reading data from the database and inserting it into a recycler view. It just isn't working the way I've done it. I'm just wondering what would be the best way to set this up before mucking things up. Basic gestalt:

class Thing
-reads data from database
-puts data into Thing objects
-puts Things into a list
-returns list

Adapter
-gets the list
-populates the recycler with Thing stuff

When I do this, the recycler just ends up totally empty. It works if I insert hardcoded stuff into the Things, and the db queries should be fine too, unless I'm retarded. From what I've gathered the issue is that the recycler gets built before the queries get done, so Thing just returns nothing and then nothing ever gets put into the recycler. I'm just not sure how I should organize this instead, so that the list actually contains something when it gets used
>>
>>65569420
debug and check the logs
>>
what program should I make that would improve linux?
>>
File: 20180416_210838.jpg (238 KB, 1280x720)
238 KB
238 KB JPG
I call it the snail list. The "shells" are used to indicate to iterators when nodes are deleted. This technique improves on previous linked list implementations, which either use slow double atomic instructions, or destructively mark nodes as being deleted.

Each iterator is able to tell when it is out of date when iter->prev->next != iter->cur, and when it is, it must "crawl" forward until either it reaches the end of the list (is invalidated) or becomes consistent again before inserting or deleting an element.

In the diagram, the bottom iterator deletes two nodes, causing two "shells" to form around the top iterator. Each "shell" effectively bumps the iterator forward once, in lieu of iterators communicating directly with one another.
>>
File: a28.jpg (32 KB, 480x454)
32 KB
32 KB JPG
>>65569088
I don't know SHIT about machine learning and got assigned to a machine learning project at work, and need to get on top of the cutting edge research in machine learning in a week

Lay it on me straight, how fucked am I?
>>
>>65569837
Also, the deletion operation can detect when it races with an insertion operation, and it will commit the insertion on behalf of the inserter. The inserter is always turned into a "snail", and the deleter always wins the race, because snails are slow.
>>
>>65569917
Why would you get that assignment without the qualifications anons?
>>
>>65569837
>>65569962
Actually, no, when the deleter detects a race it doesn't need to do anything with the inserter. When it commits the insertion, the inserter is automatically a valid iterator. Even better.
>>
>>65569917
What's your mathematical background?
>>
>>65569917
dumb frogposter
>>
>>65569837
Eh...I just realized the snail part is cute but impractical. Better to just have the deleter change the deleted node's pointer to iter->prev.
>>
>>65569330
That's a really nice and comprehensive review of what Haskell is good at.

It's pretty much what I use it for myself. Compilers, quick scripts, and occasionally for webshit backends.
>>
lol this is a thing now
https://quantumcomputing.stackexchange.com/
>muh cloud
>muh haskell
>muh quantum computing
>muh AR
>muh VR
>muh google glass
>muh machine learning
>muh blockchain
what's the next faggot meme
>>
>5 visits/day
http://area51.stackexchange.com/proposals/106955/quantum-computing
>>
>>65571040
Haskell is straight and pure
>>
Is Java still good?
>>
>>65571143
hell yeah it's up there with C++
>>
>>65571143
Yes
>>
>>65571143
Java was never good.
Still isn't.
>>
>>65571165
prove it
>>
File: 1468472224634.jpg (61 KB, 990x557)
61 KB
61 KB JPG
>>65571165
>>
File: pajeet.png (13 KB, 89x107)
13 KB
13 KB PNG
>>65571184
>>
Does java have preprocessor directives like #if yet? What about #define?
>>
>>65571304
java doesnt have a preprocessor
>>
https://pastebin.com/impnYAwh

"Uncaught TypeError: CharPack.packDb is not a function"

my button won't work

pls help
>>
>>65571150
>up there
>with sepples
KEK
>>
How do you solve this problem with an efficient amount of Haskell code?

https://leetcode.com/problems/number-of-islands/description/
>>
>>65571381
t. transdragonkin unicorn haskellfairy
>>
>>65571467
minimum spanning trees?
>>
>>65571324
I mean...why would you expect packDb to exist. You don't define it anywhere.
>>
>>65569088
is this array programming day?
>mfw that thread on hn had nobody mentioning boolean vectors
what a bunch of "full-stack" cucks

>>65569124
what about lisp flavored erlang?

>>65571040
>quantum computing
>meme
you have no idea what's coming
>>
>>65571537
I am a dumbass, I forgot to bind Taffy to LocalStorage.

I am never coding on 2 hours of sleep again
>>
>>65569088
APL is literally moon runes.
>>
>>65571561
>you have no idea what's coming
epin
like machine learning it's very niche... much more narrow than memesters think. it requires a ton of $$$ to run, even more so than machine learning, hobbyists and small players won't be able to compete with the big guys.
>>
how to do GUI programming in functional?
>>
>>65571685
what language
>>
>>65571746
Java
>>
>>65571685
FRP
>>
>>65571748
>functional java
what memery is this
>>
>>65571765
yes
>>
>>65571746
Hasklel
>>
File: 1501394589424.jpg (172 KB, 425x599)
172 KB
172 KB JPG
C++ is the greatest programming language ever to grace this planet.
>>
I admit /g/'s obsession with C++ is cute.
>>
File: 1522508856654.jpg (254 KB, 1200x1700)
254 KB
254 KB JPG
>>65572039
C++ is the programming language of choice for cute and sexy anime girls, after all.
>>
>>65569088
Lisp is the most powerful programming language.
>>
>>65571649
Yeah but when it goes it's going to be sick. The thing about it, it's great for molecular simulation. We're likely to see "quantum bootstrapping", where we use quantum computers to design vastly more powerful quantum computers.

Beyond that, materials science and molecular simulation problems are currently exponential-time and quantum will bring them down to polynomial time. Considering material science and nanotech are an area where we could have huge progress, the potential is incredible. Not to mention the implications for biochemistry.

So yeah, quantum computation is of limited applicability, but limited to some really important things.

>>65572061
C++ is old and busted. Rust and/or Go are the new hotness
>>
>>65572127
>Rust and/or Go are the new hotness
Don't forget to take your hormones.
>>
>>65572134
Fuck you, I'm natty
>>
>>65572144
Don't forget to take your hormone pills and soy supplements, Natty.
>>
>>65572151
Do you not understand what "natty" means you dyel POS?
>>
>>65571624
APL is what programming will one day converge too when people realize 1 line of APL is equivalent to 50-60 lines of C or C++.
>>
>>65572165
No sorry, I don't know tranny terminology.
>>
What's the best lightweight database software?
>>
>>65572179
dyel confirmed, fuck off back to your bag of cheetos
>>
>>65572184
read(2), write(2)
>>
>>65572191
Fuck off back to wherever you came from. No one around here uses "dyel".
>>
>>65572202
but stupid tranny jokes are totally /g/ related

fag
>>
How do you store super global variables in Java?
I'm thinking about creating an object named Globals, store references of those variables in static attributes and call it a day.

Is this an ok pratice?
>>
>>65572221
What the fuck has "dyel" got to do with trannies?
I literally had to look "dyel" up because I've literally never seen it before, and I browse this board basically 24/7.
He should fuck off and go back to whatever shit hole he came from.
>>
public class aClass {
int number;
aClass(int i) {
number = i;
}


Should
number = i
be
this.number = i
? I've seen the latter mostly but I always do the former.
>>
>>65572240
It's never an ok practice to use globals, but that is the most straightforward way to do it in Java.
>>
>>65572241
You're not funny.
>>
>>65572240
singleton? not sure what you're looking to accomplish
>>
>>65572273
I wasn't trying to be.
>>
>>65572253
You don't need to write "this" unless they share the same name, to differentiate between them.
>>
>>65572253
Some annoying code standards require this., but most people don't use it unless it's necessary. When the second one happens, I've seen it most often in corporate projects.

I think most people realize it's a waste of space: https://softwareengineering.stackexchange.com/a/211326
>>
>>65572275
Let's just say I have an ArrayList and want to make extensive use of it. Passing the reference of that list to nearly every method feels oboxious, so I was thinking about just having it as a super global.
>>
>>65572240
it's bad practice but you can do this
public interface Globals {
List<String> LIST = new ArrayList<>();
}

then you can just say Globals.LIST wherever you want

and you can make your class implement this and it's basically the same as doing
import static com.me.app.Globals.*;
 and it will extend to the child classes
>>
i am determined to make a program with no side effects
>>
>>65572475
int main(void)
{
return 0;
}
>>
>>65572898
>pop
>ret
>>
>>65572924
>>pop
That has nothing to do with the semantics of C.
>>ret
Returning a value is not a side-effect.
>>
>>65572931
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>
if err != nil {
return nil, err;
}


End my suffering, /g/
>>
>>65569088
Got my c# .net interview tomorrow. Wish me luck.
>>
>>65573000
if err != nil {
fmt.Println(err)
}
?
Is there a reason you're not dealing with the error in your function?
>>
>>65573031
>printf the error and keep going
if ((Nigga)you).AreForReal() {
panic("please")
}
>>
>>65573091
>not seeing what happens to your program when something goes wrong
>ignoring free testing for the sake of soothing your autism
I bet you don't even like empty interfaces
>>
>>65573112
Niggo do you even know what you are talking about?
>>
>>65573176
Somewhat. Been pounding some go recently.

Usually if something's broken it'll panic anyway, the type checking gets the rest (most) during compile. Errors can be printed or even ignored and it doesn't make much difference, it'll panic at some point, but it can be good to print them for debugging purposes, just like it's good to print any intermediate value before moving on to the next step.

Just my opinion.
>>
>>65573200
That's machete debugging. Eventually you will replace everything with iferr-caca and do error reporting at the top of your call stack no?
>>
>>65573252
>Eventually you will replace everything with iferr-caca and do error reporting at the top of your call stack no?
eventually I'll have all my corner cases covered and will just throw errors (and panics) when input is shit.

Obviously this isn't some hardcore giant application, just tooling to automate my personal stuff.
>>
Java can't make the console beeps
What is your excuse?
>>
Why the fuck would anyone want to use a Lisp-2?
>>
Why C standard defines datatype as "able to store value as big as X or more" rather than a fixed size?
>>
>>65573358
To support weird and/or old hardware.
>>
>>65573358
Because C is shit.

Use stdint.h if it's available.
>>
>>65573368
Making it harder to write portable C is the opposite of supporting weird hardware.
>>
>>65573400
It's only harder if you need binary compatibility. Otherwise it's pretty much fire and forget as long as you go by the standard and not "works on my machine".
>>
>>65573346
Little bit of additional semantics doesn't hurt I guess. Javacaca is the same: fields and methods and classes reside in 3 parallel namespaces. Also seppels with typenames and non-typenames.
>>
>>65573415
It's harder if you want to use unsigned overflow, or if you want to use bitfield stucts.
>>
>>65571467
simple flood fill
>>
>>65573449
I don't see how that makes using bitfields harder.
Also, if you're really have some hard-requirement on 32-bit twos compliment, use the fixed width types from stdint.h.
>>
>>65573479
If only ISO C had stdint.h.
>>
>>65573502
It does, you retard.
>>
>>65573620
You're wrong, those typedefs were only added in C99.
>>
>>65573650
C99 is an ISO standard, fuckface.
The current ISO standard is C11, though.
>>
>>65573654
Maybe the retard is confusing it with ANSI C.
>>
>>65573691
Even then, ANSI now defers to ISO.
If people want to be precise about what the hell they're talking about, they should say C89 or C90.
>>
File: spiral.webm (1 MB, 637x539)
1 MB
1 MB WEBM
why is this spiraling
i thought the matrix for rotations in R^2 was
 
| cos(a) -sin(a) |
| sin(a) cos(a) |

which multiplied by a vector [x,y] would be the vector
[xcos(a)-ysin(a),xsin(a)+ycos(a)]
which is what Rot() here is.
just (x,y) -> ( xcos(a)-ysin(a) , xsin(a)-ycos(a) ).

shouldn't it just loop around and plot the same pixels it did the last time? is it something to do with rounding?
>>
>>65571467
Well it ended up being like 15 lines (not light ones either) but I figured it out I guess.

This is why I want something that has lets you integrate real functional code and real imperative code in one codebase. Could be completely different syntax with the same data structures
>>
What is the most innovative programming language of the last 25 years and why is it Julia? The combination of ease of use and raw performance offered by its type system is nothing short of incredible.
>>
>>65573865
it's Haskell
>>
>>65573827
v [0] = someshit
use v[0] immediately after as of it was never modified.
I think it's a sequential logic problem not a linear algebra one.
>>
>>65573827
you're overwriting v[0] before computing v[1]
>>
>>65573827
Programmer answer:
You should be generating a new matrix with a theta that increases with time rather than multiplying over and over (or maybe raise your rotation matrix to a power). Floating point inaccuracy will build up and once you rotate 360 degrees, you won't be in the same position as your original. You can guarantee a small floating point inaccuracy by having a small "length" of operations to generate a particular result. Generating a new theta keeps the number of ops a small constant, but accumulating matrix multiplications increases it forever with time.

Mathematician answer:
It spirals inward because your matrix is rounded by floating point inaccuracy in the first place. Specifically, since it spirals inward it must have a determinant less than 1, and the distance from the origin will decrease on average by that (tiny) factor every time you multiply.

For example, this matrix is "almost" a 45 degree rotation but loses 2% of magnitude each rotation: https://www.wolframalpha.com/input/?i=det(%7B%7B0.7,-0.7%7D,%7B0.7,0.7%7D%7D)
>>
>>65573886
>bad performance AND autistic language mechanics
not gonna make it
>>
Say I have an Interface in Java that demand that I implement the method int foo(int i), is it possible to implement it as <T> T foo(T t) in some way?
>>
>>65573865
>What is the most innovative programming language of the last 25 years
dylan, racket, mercury, ats.

julia brings nothing to plt which is not a surprise since the authors are plt illiterates.
>>
I need your help /dpt/
I have to create a tool, some kind of daemon (or maybe it will be launched with a cron) that will have to monitor 2 databases.
Basically it will monitor which data are on them and eventually launch scripts that will query them or update them.

My boss wants to use java for this shit, but I would prefer anything else. Even in C.
What languages can I propose him, that are not java and how can I convince him to not use this shit ?
>>
>>65573920
What do you mean? You can declare a method
<T> T foo(T t)
in the interface if you like.
>>
>>65573942
I said innovative, not beating an autistic dead horse.
>>
>>65573951
I think he means can he have the interface be int but an implementation that is generic
>>
>>65573968
how julia is innovative?
>>
>>65573914
first, haskells performance is more than okay. quick reminder: just because you can not wrap your head around it, it doesnt mean that it is autistic. :^)
>>
>>65573977
Everything is generic, and it compiles down to native machine code that's competitive with C using type auto-specialization and multi-dispatch. It does that while having lightweight syntax similar to python.

>>65573985
How many multiples of C is it? :^) Also,
>willingly subjecting yourself to extra mental overhead instead of solving actual problems
>>
>>65573897
>>65573900
I'm >>65573913. That's a nice catch I missed; turns out it's a combination of both. Working out the matrix this bug creates shows its determinant shrinks (as expected) the larger you make theta: https://www.wolframalpha.com/input/?i=det(%7B%7Bcos(theta),-sin(theta)%7D,+%7Bcos(theta)sin(theta),+-sin%5E2(theta)%2Bcos(theta)%7D%7D)

But due to the small angle approximation it becomes an almost correct rotation for small angles.

Fixing the v[0] bug might make the inaccuracy unnoticeable but it will still drift over time, which is why rotating from the original with generated matrices is best practice in this type of situation.
>>
>>65574012
>Everything is generic, and it compiles down to native machine code that's competitive with C using type auto-specialization and multi-dispatch. It does that while having lightweight syntax similar to python.t
nothing new here, ml (1973) does that, ocaml does that, mercury does that, common lisp does that, crystal does that, nim does that,...
multi-dispatch from clisp and dylan is better.
have you ever read anything about plt at all?
>>
>>65574012
>How many multiples of C is it? :^)
What a stupid question. Depends on the algorithm of course.

>willingly subjecting yourself to extra mental overhead instead of solving actual problems
>t. brainlet

Don't worry, not everybody can be smart.
>>
>>65573900
>>65574019
shit okay
well the using v[0] after changing its value was retarded but yeah

what do you mean by generated matricies?
>>
Currently skimming https://www.cl.cam.ac.uk/~sd601/thesis.pdf.

I have a question though: The author writes that the type for "select p v d = if (p v) then v else d"
should be "∀α β. (α → bool) → α → β → (α ⊔ β)"
as opposed to "∀α. (α → bool) → α → α → α".

However, should it be "∀α β. (α → bool) → α → β → (α ⊓ β)"? Meaning, the intersection of α and β, not the union?
>>
File: 1523724858167.gif (152 KB, 178x188)
152 KB
152 KB GIF
Show me the sketchiest code you ever wrote for something that wasn't a toy program
>>
>>65573951
What anon >>65573975 said. I want the interface to be int because there's a couple of other methods implementing it that does not want to be generic.
>>
>>65574061
In your case, since you're using the matrix "implicitly" with your Rot method, you would have an original vector, and then you would say
v = Rot(orig, thetaSpeed*time)
, but you probably need to copy orig in order not to destroy it (I don't know all the semantics of HolyC).

Basically, you just keep rotating a fixed vector at increasing angles rather than rotating a vector by a fixed amount an increasing number of times.
>>
>>65574130
There's no way to do this. If you like though, you can implement the method for int by doing nothing but calling the generic implementation.
>>
>>65574102
consider an example
select p 0 0.5f = if (p 5) then 0 else 0.5f
5 : Int and 0.5f : Float

The intersection of Int and Float would be Int (essentially)
But if (p 5) is false, this returns 0.5f which is not an Int
So it should be Int U Float
>>
>>65574142
Right, thanks.
>>
File: 1519221407637.jpg (10 KB, 255x255)
10 KB
10 KB JPG
Writing a friend function in a templated class
>>
>>65573913
i was gonna point that out too but doubles are pretty damn precise so it could be ignored for now
>>
>>65574061
instead of rotating by theta x times you can rotate the original vector by x * theta
>>
>>65574102
That's more an argument that the intersection of float and int doesn't make sense, no?
Consider the typing with intersection, applied to records:

select p { x : Int, y : Int } { y : Int, z : Int }
With intersection, the resulting type would be { y : Int }, and the only thing a caller would be able to make with the result is accessing y, which is safe for both arguments.

With the union typing however we get { x : Int, y : Int, z : Int } as the result type, and calling code can try to access x for example, which would fail if the second argument is the result.

Am I missing something?
>>
>>65574149
That's more an argument that the intersection of float and int doesn't make sense, no?
Consider the typing with intersection, applied to records:

select p { x : Int, y : Int } { y : Int, z : Int }
With intersection, the resulting type would be { y : Int }, and the only thing a caller would be able to make with the result is accessing y, which is safe for both arguments.

With the union typing however we get { x : Int, y : Int, z : Int } as the result type, and calling code can try to access x for example, which would fail if the second argument is the result.

Am I missing something?

(sorry double post)
>>
>>65574247
What you're missing is that the union of two records and the union of two types are not the same thing.

A union of two sets A and B is a value in either set.
If you take the union of the sets {x:Int,y:Int} and {y:Int,z:Int} you don't get {x,y,z:Int}
>>
>>65574257
*is the set of values that are in either set
{x,y,z} is obviously in neither set
Now if you had a variant (co-record), then the result would be the union of the row. But with a record (co-variant) it's backwards.
>>
>>65574298
you use "=" instead of "==" or "==="
>>
>>65574269
>65574269
I'm really confused now. What's the union of { x : Int , y : Int } and { y : Int , z : Int } then?
>>
>>65574314
well it's literally the union of them
if you want to break it down further you could do
{y:Int} X ({x:Int} U {z:Int})
>>
Azure sphere LOL. Maybe feeetards can learn something from this.
>>
>>65574314
>>65574327
basically anything that's either { x : Int , y : Int } or { y : Int , z : Int }
obviously it'll have y : Int, hence i said you could factor that out
if you think about union as + and your idea of record-union as X, then it's obvious why
(x * y) + (y * z) = y * (x + z)

you can't go any further with {x:Int}U{z:Int}, it's just a type consisting of either
{x = someInt} or {z=someInt}
you _can_ write a language where you can meaningfully consume such a type
>>
>>65574340
Hm, what use is such a concept of intersection/union then?

Concerning types, I always took it to mean intersection = supertype, union = subtype.
I.e.
t1 <= t1 & t2, t2 <= t1 & t2
t1 | t2 <= t1, t1 | t2 <= t2
>>
>>65574421
A <= A U B
B <= A U B
A N B <= A
A N B <= B

the easiest way to see this is to look at a venn diagram
a subtype is obviously one region contained within another
>>
I'm working on a funky projects using CNNs and fractals, but I need a lot of zoomed in mandelbrot images for my dataset.
Currently I'm doing it the dumb way by hand using a fractal explorer, but I was wondering if I could automate it.
Any idea ?
>>
>>65574436
so you can also see the union and intersection as being join (max) and meet (min) on types, respectively
btw I said A + B earlier but that isn't strictly true
it's A + B - k where k is the overlap (the intersection actually)
so if you have a discriminated union or a sum type, that's A + B
if you take away all the "shared values" (A + B - (A N B)) you get a union
>>
>>65574436
But a subtyping means that one can substitute the subtype anywhere a supertype appears. Thusly a subtype has to be _at least as much_ as the supertype, no?
>>
>>65574467
no, not unless you've got some sort of memory limitations or something saying they have to be a certain representation
>>
>>65574467 >>65574477
e.g.
natural numbers less than 10 are obviously a subtype of natural numbers, but obviously there are less of them
{ x : N | x < 10 } < N
anywhere you can use an N, you can use an N less than 10
>>
>>65574477
I don't understand what you mean here. Is your no directed at the first or second sentence?
>>
>>65574493
The second
>>
>>65574486
Man, this shit is confusing. But I think I got it now. Thanks :)
>>
File: subtypes.png (47 KB, 1958x908)
47 KB
47 KB PNG
>>65574522
>>
>>65574538
>65574538
Yeah, my confusion was about how I defined "more" and "less"; elements in a set vs. the operations that an element of a set supports.

E.g.:
There are more animals than just dogs, so animals are "more".
However, you can "do more" with a dog than with just an animal, so animal is "less".
>>
>>65573947
Go. Google made it. List all the big meme companies that use it.
>>
>>65574793
Good luck convincing a Java evangelist to use Go which lacks the most fundamentals that are throughout used in Java. Ain't gonna work.
>>
>>65574581
>you can "do more" with a dog than with just an animal, so animal is "less".
That is the problem originated from inheritance in OOP
>>
>>65574793
>Go. Google made it. List all the big meme companies that use it.

>Windows. Microsoft made it. List all the big meme companies that use it.

Your argument is invalid
>>
>>65569124
umm but i do use Haskell all the time writing parsers at work
>>
>>65574456
I mean its a mathematical function, why wouldn't you be able to generate a shitload of them?
>>
>>65574806
What fundamentals?
>>65574839
You are arguing against Java. Use arguments Javafags can comprehend.
>>
>>65574870
OOP, generics, operator overloading, function overloading etc
>>
There is nothing wrong with using auto
>>
>>65574884
Generics didn't even make it into Java until Java 5, and Java generics fucking suck.
>>
>>65574895
auto int n = 10;

It's completely useless, though. It's already implied by default.
>>
>>65569088
l34rn1ng t0 c0d3 m41w4r3
>>
>>65574884
>OOP
Go has that.
>generics
Interface-based polimorphism.
>operator overloading, function overloading etc
Needles code obfuscation.
>>
>>65574902
what
>>
>>65574918
dumb sepples monkey
>>
>>65574917
>function overloading
>code obfuscation.
>>
>>65569420
Firebase data retrieval happens asynchronously and your list is probably initialized before Firebase has gotten the data you need
>>
>>65574902
What language is this?
>>
>>65574940
the obsolete one - C
>>
>>65574884
go has oop but it's not intuitive
>>
>>65569420
try calling firebase stuff on your main and then pass the data to the recycler
>>
>>65574931
Just use interfaces.
>>
>>65574959
I think what you meant to say is "it's not like Java OOP".
>>
>>65574048
>not everybody can be smart.
or wise, for that matter
>autistically focusing on theoretical elegance instead of exercising proper judgement in how much abstraction to use
Just because you can, doesn't mean you should.
They have a word for your kind in the POO world: architecture astronauts.
>>
>>65574012
>dynamic typing
oh, so we're just repeating history's mistakes here?
>>
>>65573942
>plt illiterates

the 1st commit in the julia git tree is riddled with scheme
>>
>>65572166
>Perl is what programming will one day converge too when people realize 1 line of Perl is equivalent to 50-60 lines of C or C++.
>>
>>65573845
>something that has lets you integrate real functional code and real imperative code in one codebase. Could be completely different syntax with the same data structures
Scala? No guaranteed purity tho.
>>
>>65572127
>materials science and molecular simulation problems are currently exponential-time and quantum will bring them down to polynomial time.
non-shill sources?
>>
>>65575000
encapsulation in go is being done at the file level.
inheritance is implicit.
>>
File: IMG_20171108_063708.jpg (18 KB, 480x360)
18 KB
18 KB JPG
>>65574917
>interfaces as a substitute of generics
wtf am I reading /dpt/
>>
>>65569837
>snail
redraw your damn diagrams when they start being more confusing than illustrative
>>
>>65574866
Because I'd like some interesting points, at the edge of the set for example. And there's obviously no function that can give us a set of all those points (well there is something along those lines but its a big mess).
>>
>>65575107
Gotards seem to not understand that what is most frequently called "generics" in POOlangs is most commonly a feature of subtype polymorphism and not an alternative to them.
>>
>>65569088
I'm reading SFML Game Development to get the necessary skills for the writing of a game that I have in mind.
>>
File: IMG_20171015_225450.jpg (88 KB, 384x800)
88 KB
88 KB JPG
>born too early for a haskell job
>born too late for a perl job
>>
>>65575273
>PoserBoy
indeed
>>
>>65575273
consider yourself lucky
>>
>>65575105
>encapsulation in go is being done at the file level.
Package level.
>inheritance is implicit.
Inheretence does not exist. There is only composition with public member promotion.
>>65575107
Interfaces are not generics but can bu used to achieve the same goals.
>>
>>65569837
> atomic containers
Whatever you are doing, you will need to prove that it isn't equivalent to a spinlock guarding the container. If you an prove, in any way, that its the same as a spinlock guarding all or part of a container, you've reinvented the wheel.

t. have done this many times
>>
>>65575309
called it
>>65575124
>>
>>65575353
>atomics and spinlocks are completely equivalent
>>
>>65575309
What result ? Calling the same function on different types maybe. But certainly not implementing it independently of the types used.
>>
If you modify thing, is it better to have
1) totally atomic struct
2) only fields that you are going to be written as atomic
3) secure every function writing to the struct with spinlock, struct would be likely opaque
>>
Who NEEDS more than one thread anyways
>>
>>65575523
that's some ocaml/python tier thinking
>>
How does the factory pattern work?
The definition and problem it solves are defined as:

>You have a reusable framework that needs to create objects as part of its work. However, the class of the created objects will depend on the application.

>Problem: How do you enable a programmer to add a new applicationspecific class «ApplSpecificClass» into a system built on such a framework?

Not really sure what this means. I thought Factory was just used to create objects with standard parameters.
>>
I want to write a one-by-one chat, using Rust/C++. Don't intend it to be anything serious, solely for educatuonal/research purposes, training programming skills, also as a project for university just to make sure it'd pass.
1) How retarded am I? And if I want to implement encryption? What should I keep in mind?
2) Is there anything useful for this particular topic? The only book I have which is also related and useful would be "Applied Cryptography" by dear Bruce.
3) What are the open-source projects I could research?
>>
shall a wiki rely on a database or os filesystem?
>>
File: c2f.png (648 KB, 667x670)
648 KB
648 KB PNG
>>65569088
Alright, so in java (I know I know) I have an input that I'm splitting but for some reason the last word on my input is being cut off.
//so basically
input = "foo:bar bar"
Str[] str2 = input.split(":")


So str2 should return str2[0] = "foo", and str2[1] = "bar bar". But instead I get str2[0] = "foo" and str2[1] = "bar".

Where is the second "bar" going.
>>
>>65575653
Picture for attention.
>>
>>65575594
A factory is specifically used to generate objects of a nonspecific type as long as they derive from some base class or interface. It's not just a wrapper over new.
Extend the factory. The derived class can produce objects of the required type.
>>
>>65575697
Is this different from the "shape" example?
i.e. you have a generic Shape interface/class and specific shapes.
Then to create a shape you call a factory method with the specific shape as a string.
>>
>>65574806
>>65574793
>>65573947
For information, this program will run on some old RHEL server. It won't be a big thing technically. If I got it right, it should do
>query database
>check if job was done this month
>launch scripts, log what was done and what's left to be done
>repeat for each stuff I have to check

I'll check what GO permits doing. Any other stuff that could do the job ?


>>65575000
java OOP is retarded desu. That's one of the reason that makes me "hate" it. I'll program my stuff in java if that's for the job tho.
With experience, I started to program my stuff with the minimum OOP can offer (in C++ mostly). My programs ended easier to read and maintain.
>>
>>65575453
>But certainly not implementing it independently of the types used.
Aside from containers and static dispatch, which I agree are solid reasons for this, why would you need this? Implementing a function for an interface and all compatible types implicitly casting to this interface is good enough for most use cases.

>>65575498
1) Makes sense, if struct fits into an int.
2) and 3) depend on details:
Where is the struct stored?
Who accesses it?
How concurent are reads and writes?
Do the accessing functions call each other?
Etc.

>>65575653
1) Not very. Simplest solution is just using HTTPS and doing all communications through HTTP.
2) Don't see why you need a book unless you are designing your own transport protocol.
3) No clue on those.
>>
>>65575739
>I'll check what GO permits doing. Any other stuff that could do the job ?
Literally fucking anything that has drivers for your databases.
>>
>>65575713
That's the same.
>>
>>65575783
Why do we need the factory when it's presumably just returning "Shape"?
Why can't this be created in the specific part of code which needs it?
i.e.
Shape c = new Circle(); //Why not this?
>>
>>65575498
Immutable, persistent data structures + atomic mutable references.
>>
>>65575692
?
>>
>>65575817
Hmm, odd. There must be another line effecting my string then. Thanks!
>>
>>65575813
>Immutable
fucking cuck
>>
>>65575813
This is how you get 1 GB of garbage memory per second.
>>
>>65575862
No that's when you do defensive copies
>>
>>65575986
Overhead.
>>
Underfoot
>>
>>65575809
Because now your code has a hard dependency on the Circle class. If there's a better alternative to Circle, you're fucked.

By passing a factory in to this method, you can obtain an instance of Shape which does what you want. The factory can be replaced at the next level up, so you no longer depend directly on Circle.
>>
>>65575809

Lets assume you want to create a right piece of a puzzle based on the puzzle itself:
...
Shape fittingShape = factory.create(puzzle);
...


"create" can now decide what kind of object it's returning. I might be circle, but it might be a square as well.
>>
>>65570258
this isn't /a/ frog posting is allowed here
>>
In C, what's the cleanest way to connect any given number (that you don't know beforehand) of child nodes to the parent node in a tree?
Linking all the children into a linked list seems retarded.
>>
>>65576355
Just malloc an array senpai
>>
>>65576372
So just have a pointer to a node in the struct's definition and actually allocate the memory once I get the number of children?
Yeah I can see that being a neat solution, thank you.
>>
File: ss.png (2 KB, 1278x77)
2 KB
2 KB PNG
>>65569088
Got a really strange bug in my collision detection code that's had me scratching my head for a couple of days now.
velocity.x = gLeft - SPRITE_RIGHT;

values of gLeft and SPRITE_RIGHT are 320 and 315.5 respectively but velocity.x is getting set to 132.5 and I can't grok why, pic related. Anyone know what's going on?
>>
>>65576355
Flatten the tree into an array from the root breadth-first and flag the leftmost nodes?
>>
>>65575739
>Any other stuff that could do the job ?
Why not the simplest thing that could work (where you don't sacrifice too much?
For example, a shitty shell script?
>>
>>65575854
there is a very useful lesson to be learned here, friend:
try to minimize and isolate the issue first
>>
>>65575986
nah m80, haskell dont need those to achieve 1+ GB/s garbage generation.
Don't trust me? Check their own website.
>>
>>65576439
Yeah, I basically made my input print after each manipulation and was able to find out that I was using input.next instead of input.nextLine.
>>
>>65576446
>What is Clojure?
>>
>>65576421
That could work but I'd have to sort the nodes first because the input is completely random so I don't start at the root.
>>
File: 1523606839002.gif (3.75 MB, 640x352)
3.75 MB
3.75 MB GIF
what programming language should i learn if i like sniffing cute black girls feet?
>>
>>65576456
>what is literally who
aka
>what is has been fad
>>
>>65576465
>black feet
worse than brap-tier
>>
>>65576460
Maybe. You do you. That's the kind of problems that can be approached in more than one way but you never know which one to pick. If you're not memory bound do the malloc thing and forget about it.
>>
I need ~5000 256*256 images of whatever. Can be dogs, person, assholes, just need 5000 images. Where can I find em ?
>>
>>65576477
>objectively the Apex of lisps
>30th on TIOBE btfoing Scala Haskell and Kotlin
Keep telling yourself that. Meanwhile I'm in the next era of programming.
>>
>>65576568
Scrap flickr or Google Images. Do you care about licenses or not?
>>
>>65576589
>unironically believing clojure is worthy of being called a lisp
where are the real lispfags when you need them to bust a cap in this wiggers ass
>>
>>65576157
>>65576237
Okay I think I got it now.
Thanks for your help.
>>
>>65576630
Hurrdurr-level indirect authority argument. Ditching the mutable cons heritage of Lisps was the best thing Clojure did. Lisp is good but it isn't divine therefore it is subject to improvement and by improvement I mean Clojure.
>>
>>65576662
someone's really enjoying the koolaid
face it kid, it was a neat experiment, but nothing more beyond the hype bubble it got a few years ago
the only activity it sees now are legacy codebase maintenance and the useless efforts of 2-3 shills to still make it happen
>>
>>65576427
They don't like the idea of having simple shell scripts. They think it will be difficult to maintain later once the project gets bigger.
desu, I think that if it's well designed with various shell scripts all doing their job properly, it can work quite well
>>
>>65576773
oh yeah, if it's something larger than a dozen or two lines, go for a real language
>>
>>65576568
http scraping
>>
>>65569420
Post some code dude, I just did this with pulling images from a db and displaying them on the recycler. I can help out
>>
>>65576417
Go to your definition of SPRITE_RIGHT and make sure the expansion is surrounded by parentheses if it's not just a single value. And try not to use preprocessor macros next time.
If that doesn't work gLeft must be some meme type with a bugged operator-.
Other than that I can't tell what's wrong through this peephole but it's probably the former
>>
>>65576568
>>65576797
wget https://picsum.photos/256/256/?image={1..1084}

Ought to get you the first thousand.
>>
File: 1523401144669.png (692 KB, 416x796)
692 KB
692 KB PNG
Not gonna lie, Python's fucking "Hur durr no braces = friendly programming language" shits me to no end, despite being a very useful language - is writing some IDE plugin to convert braces to Python friendly newspace/whitespace too autistic?
>>
>>65576860
way too autistic
>>
>>65576860
it's also already been done, probably even more than once
wheel reinventing for no good reason is the definition of autism
>>
File: fioc.png (101 KB, 800x400)
101 KB
101 KB PNG
>>65576860
>>
>>65576860
I kinda like Python's whitespace-as-syntax, it's as equally valid as braces. After all, in pretty much any code I write, I use indentation to denote the level of "braciness".

But yeah, IMO it makes it no more beginner-friendly than braces. Actually, as a beginner, braces were *easier*. I was constantly getting fucked by bad indentation in Python and not understanding why.

But what's autistic is being unable to deal with different conventions, like tolerating or even appreciating Python's whitespace-as-syntax.
>>
>>65576568
this should work, use a dicitonary file for search terms
https://pastebin.com/wgx9a7tw
>>
>>65576956
idk about 5 minutes is all the time im going to spend writing a scraping script, so it may have a bug or two
>>
File: hot anime girls.jpg (340 KB, 1500x872)
340 KB
340 KB JPG
>>65576956
>>65576984
actually i just noticed a bug, use this one instead
https://pastebin.com/1Bxnbi4n
>>
File: 1475891337727.png (29 KB, 633x758)
29 KB
29 KB PNG
>get a job as a C++ programmer
>stuck writing Javascript
oh no no no
>>
>>65569088
public <T extends Comparable<T>> boolean larger(T first, T second) {
return (first > second);
}

Why doesn't this work?
>>
>>65577049
why are you basically renaming the > operator?
>>
>>65577061
I just wanted a short example for my problem.
>>
>>65577049
Because Java is a gimped language.
return first.compareTo(second) > 0;
>>
>>65577049
Because in Java > is for primitives and generics does not work with primitives.
>>
>>65576950
i loved pyhton starting out, and I still do, but one thing that really irks me is the automatic type inference.
when using someone elses library you have absolutely no idea what data type a function can return. Hell, it can return several different types depending on which arguments you give it
not a problem when working with your own libs, but when working with others its a pain in the ass
>>
>>65576956
>code this shitty
>being this clueless about the imgur result page
please don't write a single line of code for the rest of your life
>>
>>65577091
typical for most dynamically typed languages
try a statically typed one (with a non-shit type system, of course)
>>
>>65577091
Dynamic typing is not type inference, dummy
>>
>>65577091
try haskell
>>
>>65577127
like what?
>>
>>65577140
C# has a god tier type system and even supports dynamic if you want.
If you are just doing functional stuff, use haskell.
>>
>>65577189
>C#
i dont use windows
>>
>>65577189
>C# has a god tier type system
Thanks, I needed a good laugh.
>>
>>65577140
Haskell
>>
>>65577189
Haskell programmer here. What makes C#'s type system god tier? Isn't it the same as Java's? Serious question, I don't know any C#.
>>
>>65577202
monodevelop support .net core
>>65577204
Thnx for le ironic post xd.
Maybe try again and name a PL with a better type system?
>>
>>65576852
bloody hell, SPRITE_RIGHT wasn't wrapped. cheers mate
>>
>>65577224
It is the same as Java's, except generics are slightly better and you also have value types (whether that's good or bad is up to you)
>>
>>65577091
> Hell, it can return several different types depending on which arguments you give it
This sounds like shitty API design.
Maybe it's because I spent a couple years fucking around with Haskell, but typing -- even in dynamic languages, doesn't present a problem to me. It's always relatively obvious what type something is.
I'm also really picky about which libraries I use.

Maybe fuck around with Haskell for a bit to learn fluency with types -- that fluency will also come to dynamic languages.

And don't fuck with shitty APIs. And if you must, you can always write a class to encapsulate the possible returns.

Or switch to Ruby, where it's all about duck typing (the best typing).
>>
>>65577236
>mono
>.net core
you're serious, aren't you?
>>
>>65577224
It's Java's type system except they learned from some of Java's mistakes.
>>
>>65577224
Hell no it is not like java's.
It has god tier generics, ability to create custom value types, operator overloading, define implicit and explicit casts.
While java solves everything with an object and boxing (even generics rely heavily on boxing and unboxing)
>>
>>65577259
Hmm? I am saying you can build .net core using monodevelop or vs code if you want.
>>
>Integer.MAX_VALUE can be negative
fucking hell Java, why
>>
>>65577288
I can also dig a tunnel with a spoon.
I would not wish it upon my worst enemy though.
>>
>>65577243
>>65577263
>>65577266
Well, I would argue it takes a little bit more for C# to be "god tier", but mkay...
>>
>>65577266
>Operator overloading is a type system feature
>Operator overloading is a desirable feature in a language where all objects are references (except when they're not) and lack referential transparency
Don't you have a loo to poo in, microshart?
>>
>>65577308
I agree. C#'s type system is better than Java's, but it's definitely not god tier.
>>65577189
is just suffering from blub paradox.
>>
>>65577308
It is a multi paradigm general purpose PL.
If you want functional features to build your calc.exe 9000 use a functional PL like haskell.
I would like someone to name a staticly typed PL (no FPL) that is close to C#'s type system.
>>
>>65577315
t.
pajeet.add(oraclecock).divide(lastTimeLooWasUsed).apply(this)
>>
>>65577357
I did't look at it for 2 years, but swift had some very useful (functional) concepts last time i looked at it.
>>
>>65577297
No unsigned types lol
>>
>inb4 scala clusterfuck
>>
>>65577357
>I would like someone to name a staticly typed PL (no FPL) that is close to C#'s type system.
Java. And I concede -- C#'s type system is superior to Java's, but it's not so much better than Java's to get locked into a Window's ecosystem (and Mono is generally not sufficient).
I prefer C++ typing over Java/C#, but you really got to know your shit to effectively use it.
And Object Pascal is a great choice, too. My next desktop app will be Object Pascal (so much easier than C++, and you're not really sacrificing anything important).
>>
>>65577408
Good god no. Who the hell though building a functional language on top of java was a good idea?
>>
>>65577224
Who told you it was God-tier anyway? It's probably fine for anything you want to do in C#, but lacks some of the "cooler" things (algebraic enums would be nice)
>>
>>65577446
See >>65577189
>>
>>65577432
And Rust actually does have a god-tier type system, after all it was practically pulled straight out of ML.
>>
>>65577432
Working with types is a hell of a mess with java. You can't even make a fucking List<int>.
C++ isocpp is ruining the language with cancer instead of features. Fuck them and their std::visit and structs that are literally classes.
As for the cross platform part, C# can be run on mainstream distros using .net core.
>>
>>65577513
>structs that are literally classes.
literally nothing wrong with this

Only being able to distinguish whether a given type behaves with value or reference semantics from its declaration, that's retarded.
>>
>>65577477
Linear types > Affine types
>>
>>65577440
's actually comfy af for certain tasks (4me)
>>
>>65577224
Have you tried idris. Haskell feels broken now
>>
>>65577562
I did, but then I came to the somewhat broken Eq class, which can't derive me an equality proof so I dropped it.
>>
>>65577578
Use DecEq not Eq
>>
>>65577446
Any useful example on the use of these "cooler" things?
>>
>>65577513
>Working with types is a hell of a mess with java. You can't even make a fucking List<int>.
And 30 minutes into a Java codebase I forget all about Java's type issues. It works, and it works well, even if boxing is ugly as fuck (and a little harder to learn).
>C++ isocpp is ruining the language with cancer instead of features. Fuck them and their std::visit and structs that are literally classes.
I'm not autistic so change in a language to make a language better and more modern doesn't bother me.
>As for the cross platform part, C# can be run on mainstream distros using .net core.
lol. the sole purpose of .net core is so people locked into Microsoft's ecosystem can make up-to-date apps that utilize cloud technologies and modern infrastructure architecture (e.g. if you want to use docker).
Still better to just use Java, despite C# technically being a better language.
The purpose of .net core is to suck you into Microsoft's ecosystem so you become reliant on them and eventually have to buy their shit at some point.
>>
>>65577681
Boxing isn't even a problem, the worst part about Java's type system is type erasure.
>>
>>65577578
Also broken in what way?
>>
Why use std::pair instead of a struct?
>>
>>65577548
That is a proper way to get desired and defined behaviour. int i{0} and all the c++ templates and type constructor fuckery is what is retarded.
>>65577681
Use the PL you want to use. Even you admit C# is better. As for .NET core, most arguments are FUD and butthurtism because it is finally going cross platform.
MS loves linux lol
>>
>>65577747
Why not?
>>
File: brainlet.png (56 KB, 621x702)
56 KB
56 KB PNG
>>65577775
>[unnecessarily nonlocal information] is a proper way to get desired and defined behaviour.

>C# is not bad because C++ is worse
>>
>>65577781
Not an argument.
>>
>>65577747
You shouldn't. You should use std::tuple for consistency, even if it's a 2-tuple.

You should use std::tuple if it's just a bunch of values in the same context rather than structured together in any logical sense. For example, when emulating multiple return values. You could equally return an anonymous struct however.
>>
>>65577747
If it makes semantic sense. It is a generic type representing two values; why declare another type that does exactly that, that is only used in one or two places?
Also pair can be used in C++17 structured binding declarations straight off the bat
>>65577856
pair is literally just a specialization of tuple with 2 template arguments
>>
>>65577698
Type erasure is rarely a problem in real code.
And the few cases it is:
http://gafter.blogspot.com/2006/12/super-type-tokens.html
Sure, type erasure means you can't write 1:1 C# to Java, but C# and Java are different languages. I would prefer C#, but Java is tolerable.

I've already conceded that C# is a superior language, but you're apparently to autistic to get at the crux of the argument: C# is not so superior as to justify getting locked into Microsoft's ecoystem.

>>65577775
Cross platform != not locked into Microsoft's ecoystem. Microsoft's eventual goal is to make you reliant on MS technology and to purchase Microsoft products.
MS doesn't make .net core for free -- the payment is just deferred.
>>
>>65577811
No avatar fagging.
Also, nice meme text.
>>
>>65577888
I'm not the C#fag. putting aside the ecosystem, I'd rather be using Java, even with the criticisms I just gave.
>>
>>65577888
Wow thanks for explaining how business works!
You think other PL orgs and corps make a PL and maintain it for fun and games?
Any PL backer wants its market to increase why is it wrong when it comes to MS? Oracle literally sued google for not paying patents because of their implementation of java. All PL orgs/foundations/whatever want donations and license their code under MIT(free to modify but it is always ours)
>>
>>65578015
Java's goal isn't to make you dependent on Oracle's technologies.
Oracle's business model is being the source of commercial licenses of Java and provide support for Java.
E.g. you want to take the open source Java and modify it to your business's needs and not share-alike? Ask about our commercial licenses!
Google did not do that, and that is ultimately the crux of where Google went wrong. Google could've (and eventually did) choose to abide by OpenJDK.

Microsoft's business model is to give you 80% of what you need for free, knowing that eventually you'll need the other 20%, which you'll have to pay for.
>>
>>65578015
> license their code under MIT(free to modify but it is always ours)
GPL is more so like this than MIT. GPL is not non-commercialized software, its goal is to prevent anyone except the author commercializing the software. Authors still own the copyright and can, and often do, also sell commercial licenses alongside the free, open source GPL license.

And in some cases, the GPL licensed one is completely gimped -- letting you get 80% of what you need, then, "lol you want the other 20%? implement it yourself or buy a commercial license!"

MIT lets anyone use the code for pretty much any purpose with minimal restrictions -- essentially attribute the source you used and include the same license and don't sue the author. It's the closest thing to putting your code in the open domain without fucking yourself.
>>
>>65575353
It's absolutely not.
>>
>>65574581
That's more OOP. There's a proper way of interpreting this, which is the type of a function A -> R (for some result R)
Functions are Contravariant in their input, that means if A < B then (A -> R) > (B -> R)
(they're covariant in their output, so it isn't flipped for output)
>>
>>65578149
Yes, because Oracle doesn't have technologies lol. They even sue people for offering solaris support.
You are mixing between the C# standard PL and .NET core API built by MS with a product which is also built by MS using C# and .NET Core.
If you don't want to use the product, use another or build your own™ (freetard responses)
You are not forced or required to used the paid service (azure?).
You can develop your program free of cost (any ide plus the cs compiler).
You can deploy your ASP website free of cost (heroku) or pay for another hosting service like with any other website.
MS needs to make money like other companies and are selling a hosting service with their support included. Nothing unusual here.
The argument you provided about le 20% just shows the hypocrisy of freetards.
You don't have to use paid services.
You can and you should build your own free™ technology.
But freetards can't and won't because all they can do is provide buggy copies of paid proprietry software.
All this whining about VS, C# and better support on windows and no one is doing anything to make better tooling on linux. It is too hard for them because they can just whine about how propriety is better and FUD strikes them when MS tries and succeeds to provide support for linux.
>>
>>65578246
Thanks for the input. .NET core is under MIT
>>
>>65578469
>why does sqrt require a Floating in haskell.
>What can't it take just any positive Num, ffs.
>Liek that's so fucking frustrating I've been stuck because of that for 30minutes now.
>I never thought I'd had to fight against the typing system like that.
>I just want to fucking kms, for being such a brainlet who can't overcome something this simple.
>Why does everything make me feel so stupid in this stupid language.
so this is the type of person that shills haslel in dpt
>>
>>65578487
lolumad
>>
>>65578469
Num doesn't even have division, why would it have sqrt? In ghci just use :t sqrt to tell you the type of sqrt, including its constraints. If you don't know which constraints include others, just include all.
>>
>>65578587
I just started learning it 2days ago.
Retard.
>>
>>65578641
xoxo bby
>>
>>65578487
why would you waste your time making anything for the .NET ecosystem if you can just use something better than .NET altogether ?

also don't forget to ask for a bonus, you did excellent work here, shill.
>>
page 9 figgers
>>
>>65578696
Sure enjoy being a boilerplate neckbeards or a javalet that can't even make a console beep.
.NET is superior in every aspect and le M$ is your only argument for using an inferior language
>>
>>65569683
A demon killing "bad" processes (for example processes taking more memory than the physical available memory like firefox making the system unresponsive before crashing)
>>
new thread: >>65578816
>>
>>65573947
Lua a C if you wish. Take a look at luajit ffi (the best ffi).
>>
>>65576355
Array of parent index/value.
>>
>>65577747
Use structs when there is a meaningful name for each values or the set of values together

struct gcd_result_t { int x, y, gcd; };
gcd_result_t extended_gcd(int a, int b);

template<typename T>
std::pair<T, T> quadratic_roots(T a, T b, T c){
int half = -b - sign(b)*sqrt(b*b - 4*a*c);
return { half/(2*a), 2*c/half};
}




Delete Post: [File Only] Style:
[Disable Mobile View / Use Desktop Site]

[Enable Mobile View / Use Mobile Site]

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.