Be in first semester of CS

...

Other urls found in this thread:

cs.cmu.edu/~rwh/theses/okasaki.pdf
dthompson.us/projects/sly.html
en.wikipedia.org/wiki/Von_Neumann_programming_languages
en.wikipedia.org/wiki/Talk:Von_Neumann_programming_languages
en.wikipedia.org/wiki/Hindu–Arabic_numeral_system
twitter.com/AnonBabble

Cost me about 15k before I realized this. I regret it all

Any measurements to back that up?

Looks like a pile of horse shit from a stupid man who doesn't know what he is doing.

kys

...

...

kys shills.

nah if you want to chain functions return a reference to that struct/object in each function

Wanna know how I know you are stupid.

explain to me what is real functional programming retards.

The only problem here is that you had to use IRC, instead of your prof and TA instructing you properly.

Study the Y combinator function, to test if you really understand it.

You, you're a real functional programming retard!

understood more in five minutes in IRC than in all my classes with my retarded professor and my retarded classmates and retarded TA.
fuck you.


wow nice argument, I'm sure you can explain to me better what is functional programming than what I've just learned by actually doing functional programming.

retard.

In functional programming, modifications to data structures will (hopefully) reuse most of the old structure, avoiding a deep copy. A simple example is a list. It's made of 2 part cells (a struct with two elements). The first part of the cell is your element, and the next cell is the next element in the list (or null).

mylist: niger, gook, kike
Now if I want to say add chink to the front of my list, what I'm actually doing is creating a new cell ["chink", mylist]. That's cheap and easy. It's also easy and cheap to modify trees, because you can reuse suffixes without having to deep copy.

Fuck me? Direct that to your instructors.

So to clarify, that mylist looks like this:
["nigger", ["gook", ["kike", NULL]]]

(define op 'faggot)(define (is-op-a-faggot? the-op) (if (eq? the-op 'faggot) (begin (display "yes") (is-op-a-faggot? the-op)) (begin (display "definitely") (is-op-a-faggot? 'faggot))))(is-op-a-faggot? op)

So basically it only updates the data that changes?

how is an array represented in a functional language?


fuck you.
my nigger professors make seem functional like fucking mistical magical shit.
I'm considering dropping college and self teach myself CS.

hey niggers, how is a functional language if you're still having mutable states?

You replied to the same person, faggot. I'll help you anyways.

Depends if it is PURELY FUNCTIONAL (autism).
In pure, a real array with O(1) get/put .... well "if only you knew how bad things really are". You actually can't do it without resorting to complex data structures, and even then, you're at best going to get amortized O(1) operations for parts of the array. You either use complex datastructures, or the runtime cheats by auto resizing the array store behind the scenes.

For the most part, functional programmers will use lists and trees whenever they can.

Languages like Racket actually cheat, and use arrays (which they call vectors) which ultimately compile down to C arrays and behind the scenes trickery.

So basically pure functional is impossible and is a fucking meme that only academia uses to masturbate to math, cool.

Exactly. If you want intellectual masturbation material, read this. cs.cmu.edu/~rwh/theses/okasaki.pdf

You'll create data-structures, which overtime, perform almost as well as what they're training niggers to do in imperative languages.

why should I waste my time with this garbage, time I can use to learn a real language like C or C++

Another fucking meme Haskell brings us is lazy-evaluation. It looks pretty cool for a handful of "Euler Problems", but it is a real world performance nightmare, and you ultimately end up forcing strict evaluation to avoid big fucking memory leaks building up.

"I won't do a pure update to this data tree just yet, but I'll store a promise in memory to handle the update, and do the operation if anyone requests its value".

can't wait to finish this piece of shit class to study something usefull, like C++

Just to expose you to a new way of thinking about problems. It WILL make you a better programmer, overall, even if a lot of it does end up being stupid. One area where FP can shine is in parallel computation. Also many imperative languages like Python (and even JS) have borrowed useful parts from FP languages, like map/fold/reduce lambda expressions and closures.

It's also easier to teach programming concepts in a language like racket.

There is absolutely nothing wrong with useless intellectual pursuits, young Pajeet.

oh wow, I can think of new ways to fuck my gf, like letting her suck some nigger dicks from random black people in some bar, rather than fucking her myself.

KISS principle retard.

The only solution is the most efficient way (C).
useless masturbation about non optimal solutions are hipster garbage that is killing software by using other shit than C.

kys my man.

Yeah, is inefficient, slow, bloated code.
learn C.

Pajeet studies C++ syntax and just goes off and writes garbage. If you learn the concepts, you're going to write much higher quality code in any language you choose, meanwhile Pajeet would have to start pretty much from scratch if a new language came along, because he never learned the right way to do things.

Racket is nice good FP language though, clean and simple and doesn't have the autism that Haskell brings. And while I have made fun of the FP meme, I've actually used Racket to solve some real world problems, because it's much quicker to write than the C++ equivalent. Especially for things you only need to run a few times and then disgard.

why not learn C?

Sounds like a problem in your implementation.

"Oh wow, C lets me do parallel computation using only two features! Oh, the thousand gotchas? I don't have to learn those to use threads.h, lol!"

I do know C. I just don't use it for every problem.

Yeah, now you've proven yourself to be an idiot.

kys pajeets

use rust, nigger

Why are you prioritizing run-time over everything else? Development time is quite often far more important, especially for code which is i/o bound, or used infrequently.

Why should one always care?

Learn assembly, pleb.

C is high level assembly retard.

How big a problem is the SJW factor in the Rust community?

I have a 2010 computer I need to replace because you niggers keep making new software using the newest most bloated libraries and meme languages and don't care about performance.

so kys my man.

There's a time and a place for C. Hopefully college will teach you that much.

I don't recall assembly having all that undefined behavior


It's big. Rust is a big fat mistake, but its community is an even bigger mess.

I never told you I didn't care about performance, is your reading comprehension as poor as your programming skill?

That is indeed retarded. The proper way to think about a game is in terms of "signals": The signals (user input, time, physics, AI) are processed (map and filter) and finally collapsed (reduce/fold) into the current state of the game. This is how Sly does it:
dthompson.us/projects/sly.html

There is more to functional programming than just "lol, don't mutate objects".

get gud pajeet.
yeah, java is so cool, with all the garbage collection and safety measures, so modern wow.


I have to replace my PC every five years because you niggers keep making slower and slower software.

kys my man.


what's the point of learning something that is worthless at best or have the worst performance than simple imperative or poo code?

Honest mistake here
, I misread your post. I thought you were the idiot you were making fun of.

Because programming is fun, Pajeet my friend.

why don't you make your browser or embeded software or linux kernel in Unity3D.

pajeet.

No one is going to pay you to spend all day writing something in C, which can be done in one tenth the time in a "slower" more modern language. Imagine you had to design a mathematical model for a hedge fund where time is money. C becomes impractical very quickly.

Now, if you're writing high frequency trading software, then yes, C and ASM are going to be your friends.

*which doesn't NEED to run quickly.

Properly written functional code can be as fast as properly written imperative code. If the code is well written compilers can optimise it. Take for examples this function:

; Retarded and inefficient way of adding(define (add x y) (if (zero? y x) x (+ 1 (add x (- y 1)))))
This is bad because it will blow up your call stack. Let's rewrite it a bit:
; Efficient way of adding(define (add x y) (if (zero? y x) x (add (+ x 1) (- y 1)))))
This code will be tail-call optimized to make it into a loop like this in Python:
while y > 0: x += 1 y -= 1
And I'm not talking about being close to the loop, I mean it is literally implemented like a loop by the compiler. What you should be more concerned about is performance loss due to dynamic typing and garbage collection.

So, you're claiming there's no diference between pajeet code and yours, only that you will be fired and pajeet hired because his solution will be 10 times cheaper and will be made using the flavour of the week language and framework.

Do you also let your wife to fuck other males?

Sorry, it needs to be (if (zero? y) ...) instead of (zero? y x).

So, there's not diference between functional and imperative.

Can you repeat me again some important world critical software made in pure funtional languages?

I don't remember the linux kernel, game engines, browsers and embeded software made in lisp.

fag.

Well I can't wait for you to release your ultra-performant kernel, young code monkey!

I work for literal kikes, you better believe they'd fire me if Pajeet could do my job 10 times cheaper. Thankfully they can't.

Weird projection going on there mate, that's the second time you've brought this up.

He won't be HURD from again...

That's because of other performance issues like dynamic typing or garbage collection. Is the Linux kernel written in Java, Python, Perl, Lua or Javascript? How many industry game engines are written in those (using them as a scripting language does not count)?


There is none for the machine, but there is for the human writing it. The reason functional programming is rarely used is because it is not taught in Pajeet schools.

If your boss want to fuck you in the ass it doesn't matter, we're talking about becomming better programmers.
functional doesn't teach new ways to code, is a meme.

the only code that should determine the skill of a programmer is how fast it is.
(C code).

advocating other approaches because it makes you think about some hispter way to code, that isn't even proven in the real world (because there's not examples of critical software writen 100% functional).


There's only one solution, the fastest (optimal way).
I don't care if you can find solutions in some meme ways that are slower or use slower languages.

You're really stuck on this, aren't you. Not every piece of code is in a fast path, and run multiple times per second.

When you grow up, you'll find that you often have to code something, run it once, and throw it away. Or in other cases, the project is so large it becomes infeasable to use C. So we use the slow language for most of the code, and C for the fast path.

Yes, it means the run time requirements are higher. These tradeoffs exist, and basic economics dictates which you choose.

why you need anything else than C/C++?

unless you're pajeet and manual memory is too hard for you.

How fucking old are you? Do you really think those three milliseconds that you could gain if you rewrote some shitty script in C matter? Well, go and tell everyone in the industry they are retards for using Perl, Python, Shell script and all other scripting languages.

Guess what: performance only matters if it can be noticed. Saving a few milliseconds is worthless if you lose much more on development time. And don't even get me on bugs that can creep in due to undefined behaviour and wild mutation all over the place. Saving a few milliseconds means nothing if your users then have to wait for days until you fix the software. Low-level languages like C are power tools that should only be used when it makes a difference.

First make it work, then make it work right and then make it work fast.

Come on, don't be dumb.

So basically you're a pajeet, advocating for pajeet languages and pajeet practices.
Good luck shilling the practice that is replacing white programmers jobs with millions indian outsourcing companies.

Why care about software quality if we can hire dozens of pajeets to write slower code in a pajeet language like Java.

I love the fact we need more and more bloated frameworks to develop faster code, lol.

Fucking pajeets who don't give a fuck about programming as an art.


come one pajeet.

You've convinced me mate. Everyone in the software industry is a retarded Pajeet. We're all doing it wrong. Thanks for correcting us and imparting your wisdom.

For that Enterprise Qualityâ„¢ touch :^)

But don't you like managing memory manually? It's what real hardcore code monkeys do.

((the industry)) is hiring a dozen thirld worlders for half your wage.

cuck.


there's nothing wrong with C++, is the fastest language that is modern.

I can tell you are in your first semester by how often you say Pajeet. Come back after you have worked on large enough project and see how well doing everything in C works out for you.

In every engineering discipline people know that you use different materials for different purposes. You wouldn't want to build a house entirely out of bricks, there would also be wooden and metal parts to it.

You keep shifting the discussion throughout the entire thread:
Then we tell you that no, you are not supposed to just throw things out of the window
Then we tell you that no, it is not slower


This. It's easy to LARP about "muh 100% performance" until you have to actually get your hands dirty. People have been using different languages for different purpose long before outsourcing to India was even politically possible.

You might ask, why learn Differential Geometry? Because we're white user, and we enjoy these sorts of pursuits.

considering how much of the software industry is just glorified web development now it might actually be true.

...

Yes they are, and they occupy the menial office tasks and web design. You can't use them to solve engineering problems, build mathematical models, handle operations research or act as data scientists. We've probably hit peak pajeet, because most of them suffer genetic limitations to the kinds of future problems we're going to deal with.

Pajeet is actually being made more and more worthless as AI and automation advance in strides.

Bien. This thread is much better than the one you created yesterday.

You're still a faggot though.

...

They have to be either noticeably better or cheaper than the available whites or they don't get hired because no one likes them. There is no space mediocrity as far as they are concerned, like there is for womyn in tech or fashionable ethnicities like negroes. Occasionally one pulls through but crashes and burns after a while because they get arrogant and start hating on whitey.

Those where WHITE Aryan people (We Wuz...), but I think it's fare to say that Greeks got the ball rolling and Northern Europeans from 1700 just took mathematics into a quantum leap.

Ramanujan was a legit Pajeet though, but he was born before 1900, and we haven't really seen anything comparable since. He's literally one in a few billion. My point stands, we've hit peak Pajeet because they currently occupy a sweet spot in ability and demand. This will shift.

Chinks have some mathematical aptitude though, they're a bigger threat to pajeets as we transition to advanced tech.

...

Fuck, I forgot to include "Agile" in there.

It has been an enjoyable time waste.

It's an artificial limitation, only adhered to by white tower academic types.

oy vey

"I'm an engineer sir"
"What kind of engineer?"
"Software"
"I don't think that's how it works but what kind of software?"
"I worked at a startup sir we made an innovative solution to connect goat buyers with goat sellers using wordpress, Go, and agile methodology"

I have a true Pajeet horror story from an acquaintance. They outsourced a php/mysql project to India, and while it functioned as required, they noticed that every single fucking column in every table was indexed. After inquiring why this was done so, Pajeet replied, "it makes everything go faster for better optimization."

computers are after all state machines. overhead required to ditch the state part is more than you'd get by simply writing it in imperative. and even then most functional languages use states anyway.
and then there are those assholes who write window managers in haskell

Outsourcing to save money is a very, very, very bad idea. I have seen projects lose six months with no progress. I have seen projects lose 12 months without progress. And they'll be in denial about it until the very end.

This thread... this thread is killing me.

Should have wrote your own OS in machine language and BASIC. Now you're sissy-fuss, forever condemned in the system of jew languages and eternal meme upgrade cycles.

Okay, I like functional programming, but you gotta be retarded to not realize how inefficient it is.

Castles are pretty comfy user

The C standard has undefined behaviour. Your compiler doesn't. Just look at the assembly output and you will see what the compiler did to translate the code. When you write assembly you are the compiler, so unless you have serious mental issues and a funny CPU, you, just like a C compiler, doesn't have undefined behaviour.

Congratulations!

Pretty much all CPUs have errata datasheets. I suppose it isnt undefined but rather unexpected behavior.

OP, you sure sound like a bitter, "I'm 2 smurt 4 skool" kinda guy.

I knew many guys like you at college. Most of them ended up failing courses various times and then they abandoned college or changed careers. They, of course, never admitted their faults. Even if they didn't pay attention in class or if they didn't study because "pshh... This is 2 ez... Kiddo", they would always blame the professor, the classmates or anything else.

You need to be a little more humble. If you're so smart and good, why couldn't you figure it out on your own? Did you even try to ask the teacher? Drop the attitude, you turboautist.

...

Querying your database would be faster in that case.

Philosophically, the difference is that imperative languages process consecutive statements and instructions while functional languages evaluate functions and expressions. In the ultimate imperative programming language, assembler code, there isn't even any notion of function. There are only instructions which stupidly transform their operands or mechanically produce some other effect. More functional code starts to have more "meaning" than purely imperative code.

Of course, in most languages the difference is not cut and dry.


For example, algorithmic expressions are allowed in C and most other "imperative" languages. And while Lisps like Scheme and Clojure are supposed to be used as functionally as possible, side-effectful functions are still allowed.

That's not how compilers work. Compilers do not create software, what they do is translate them from one form into another form.

Not to mention the fact that this work is so easy that he couldn't even understand the lecturer who was teaching it. They're truly paragons of wisdom and getting things done.

No Pajeet, you cannot defend your horrible design decision. Querying would not be faster in that case, compared to the case in which the necessary columns were indexed. All this achieved is wasting space and making insertion times much longer.

Indexes should be created only on Fk columns, and columns that are actually used on WHERE clauses. If you have the displeasure of working with MySQL, you may have to create overhead indexes because the optimizer is shit and can't use an index like this:

INDEX (a, b. c)

On a query like this:

WHERE b = 1 AND c = 1

I can, but I wouldn't waste that valuable knowledge on an edgy piece of american trash like you :^)

He means you are the one translating from a higher-level language (in this case, the algorithm itself, written in human language) to machine code (the assembly instructions).

In imperative languages, a function is just a nice way to write a goto-and-return statement.

Kill yourself.

OP I don't see why you have to rage this much
You know lots of languages so I don't see the problem of learning a new thing
You'll never use it but maybe one day you'll have to solve a problem and you go "oh hey I can do it in a functional way"
It happened to me, there is still a chance it'll happen to you too, after all you are still young
There is nothing wrong in knowing more, even if it's inefficient
Actually, knowing that something is wrong is better, because that teaches you how to do things correctly

Do you have a public repo you can share? Since you're so efficient with low level languages, I'd like to see the multitude of FAST software you have created. And if you haven't created any, why not?

Are you fucking retarded?

This guy won't even finish databases. I guarantee you.

...

I envy you

There are a lot of things in my life that aren't fortunate but I guess this is one thing that kind of worked out okay.

Shit programmer detected.

no.
FP is fine, you're just retarded. If you're doing Computer Science you best be learning FP even if only for academic reasons.
here's a better story:

Philosophically, imperative and declarative come from Cobol which has declarative statements and imperative statements.

"Functional" was invented by John Backus who believed programs should be made up of composed functions instead of operations on data. However, "it has never been tried" like they say about Communism, so there's no way to know if it would have the benefits Backus claimed or if he made the whole thing up to swindle money from IBM. The whole thing is very unscientific though.

en.wikipedia.org/wiki/Von_Neumann_programming_languages
en.wikipedia.org/wiki/Talk:Von_Neumann_programming_languages
This is easily the worse tech-related article on Wikipedia and everything was directly copied from Backus's paper. If Backus wrote it as a Wikipedia article, it would be considered terrible.

Should have gone EE, so you can build your own computer and bail out entirely of the modern botnet industry.

It's not like you can't study EE on your own. If you picked enough math options in CS, you've already covered a lot of common ground. Of course, to the fat HR lady, you won't be "educated", but perhaps you can start your own thing.

how much are you ready to pay for this?

I always thought the "Muslims invented Algebra, marvel at their glories!" bullshit was brain-dead retarded.

>>:^)

Bring up Babylonian mathematics and I'll laugh at you for thinking ancient Babylonians weren't Aryan

Functional programming has no strict definition. At the very least, first class functions and a focus on immutable data structures are required. Most languages can be written in a functional style.

No matter what Arabs contributed to astronomy, nothing will ever undo the damage they caused by burning down the Library of Alexandria. They should be exterminated for that alone.

This
They do this shit to weed out touchy fucks like OP and get a good one or two semester's worth of tuition cash. He says he is even thinking about literature but you know what's going to happen then? He's going to be surprised that his knowledge of the Mortal Engines series and the Eisenhorn Trilogy isn't going to make him into the next JK Rowling fantasy author prodigy in the first semester.

...

Suck it up and quit being a faggot; what is it to you to set a day or two aside and try to understand the basic concepts of functional (meme) programming, instead of shitposting on Holla Forums?
Furthermore, what shit institution teaches racket to first years? Are you going to a tech schools for niggers?
Why don't you take the rest of your college savings and buy yourself some high quality rope

Redpill me Holla Forums, I always thought the library of alexandria was an accident.

From wiki. The first part is the story as I have heard it, but I see it has been amended.

...

...

And now at last I see... Imkamfy really is an Arab, still following his old Caliph Omar.

The Babylonians were semites, but they were less cancerous than the semites that we have today. They also didn't follow the pure low-functioning autism that is Islam
sage for offtopic

...

I was mistaken here. While the racket vectors do compile down to C arrays, they do not automatically resize themselves, so there is no trickery employed, only the mere pragmatism of not being "purely functional".

shiggy diggy

How the fuck did you use C and not understand FP? Sounds like bullshit, or your code was fucking ass. Same with the OOP actually.

Enjoy BASIC I guess.

Thing is, we tell you but you niggers won't listen.

Did you graduate?

why

Looks like when they kick me out i'm becoming a bum or a construction worker.

Structured schooling is an effective way to achieve many kinds of educational outcomes. What's good about structured education is that you have a good idea about the specifics of the knowledge outcomes and the pathway you take to lead to your certification. However, it isn't the only way to learn your knowledge. Other ways of learning include undertaking an apprenticeship with a master. You could be an autodidact who follows an unstructured curriculum and only reads textbooks. The harshest but most effective way to learn in life is to do things in life, make mistakes as you do them then learn from them. Most of us would prefer not to learn from harsh mistakes so we spend our time studying from places that isn't as harsh as real world mistakes.

lel

You didn't understand shit, code monkey.

i have a 2007 low end laptop that runs all the meme language and bloated libraries that i need it to.

The burning of Alexandria pales compared to the damage the Arabs did in Northern India.

Never mind that even the Arabs call "their" number system "Indian numbers", and that what's left of the Vedas credits "bearded people from the north" with the invention of their script and mathematics.

Source or it didn't happen.

en.wikipedia.org/wiki/Hindu–Arabic_numeral_system should have some sources on the "Arabic" numbers. Research why Brahmin wear beards (Or, just ask a Brahmin.) to learn about the bearded men. Wikipedia falls a bit short on ancient Indian history, even on the official story, and all of my sources are printed books and folks from a local Hindu temple.

**If you just want to try to discredit the Oera-Linda manuscript: be aware that you already lost. It's irrelevant in the grand scheme of things. And, attacking the method of delivery is not a valid argument against the content of
of the text. **

As expected from a Holla Forumstard. You have no idea what you're talking about. At least be honest about it. Just say 'this is what I choose to believe' instead of pretending to have facts on your side.

...

...

...

lmao retard

Oh yes, tell us what you think the difference is so we can laugh at you.

functional programming is retarded, that is my opinion too. the goal of CS is to teach you all the popular shit so you are able to cope with it if you come across it later in your profession and functional programming is used a lot in mathematics.

if you want to learn only one thing get a more job oriented education. like a java course at the pajeet institute.


collage is not made just for you, you very special snowflake.


you don't understand collage.

why don't you take your vast knowledge in HTML5 "coding" and become an obedient codemonkey. you don't need collage to be a codemonkey, believe me. a lot of people don't understand the reason for collage. they get their degrees, become braindead codemonkeys and wonder why they learned all the shit in collage they don't use anymore.


fucking pajeet.

...

lurk more

That looks all nice until you do real code that isn't a fucking recursive addition. Tail call optimization isn't always possible, and when you are writing code you should not be constantly thinking about optimizations, you should be solving the fucking problem.
Functional lets you do more with less and even do a lot of things you can't do with imperative languages, but in practice imperative languages puts you closer to how the code will look like in the binary, and most of the time that's all that matters.
Functional has a lot of pottential if optimization gets much better, and will probably even replace imperative altogether in the very long future, but that's not today.

You honestly don't know what you're talking about and/or haven't worked on a real project. There are many times where developer time is much more valuable than (low) processing time. Suppose your team lead asks you to write a brand new feature for your application which takes in arbitrary streams of data as input and asks you to transform it into well-defined data structures which will get mapped to a database. You could write this in C, handling all the marshaling and memory allocation yourself. But that's just reinventing the wheel and good luck doing all that in the 4 weeks your team lead gave you to implement the new feature.

A functional language will instead allow you to map and reduce that incoming data any way you want with very few lines of code. Furthermore, if those transformations need to be asynchronous, you can pass them in as callbacks. Functional languages, in general, are very good at transformations of data and asynchronous event handling.

You're also forgetting why certain coding conventions exist. In the professional world, a lot of "clean" code is actually redundant code. This is not because it is the most efficient way to write it but rather because it is the clearest way to express intent to a new developer. In any real world project, adding people to a project drastically increases development time. Anything you can do to reduce the time it takes to get new developers up to speed is worth the trade off in redundant code.

Point is, it's not always about speed. Development time is just as important as performance.

then you should have went to a network/infrastructure class then smarty pants

Exactly. And another often forgotten component is the maintenance factor. Many "hackers" can produce write-only solutions to small problems, but that's not useful for high longevity systems, that will not be maintained by their original author.

Any loop can be written as tail recursion, and any tail recursion can be written as a loop. If you cannot solve the problem in a tail-recursive manner you wouldn't be able to solve it with a loop either, so there is no loss.

I disagree. Not only is it impractical to rewrite all of your recursive calls as tail recursions, there are also some times when you'd want to preserve the stack frames for stack tracing, especially if you know for certain that you'll never have a stack overflow and following the various recursive steps for debugging is more important than maintaining constant space.

Sure, I was just saying that it is possible. If you don't think it's appropriate to do so in certain cases that's a valid position.