# /dpt/ - Daily Programming Thread

Brody Thomas

What are you working on, Jow Forums?

Attached: programming-languages-timeline.png (1.02 MB, 4912x3050)

Charles Cox

go to hell

James Morris

in b4
OP is not anime
OP is not amphibian
Here. Happy?

Attached: aa.jpg (11 KB, 214x236)

Levi Smith

getting a new pair of programming socks. Recommend me some if you can! teehee :3

Robert Phillips

what?
i wish i could report this

David Flores

Are you a 10x programmer, user?

Hunter Flores

please don't make me look at brown people

Henry Bailey

Forgive me for asking a simple question, I only just started learning programming two weeks ago.

So in this recursive function, the compiler isn't even compiling the code below the recursive step, i.e. the if (min < A[n - 1]) stuff, until it reaches the base case correct?

`int findMaxRec(int A[], int n){    int min;    if (n == 1)    {        return A[0];    }    else    {        min = findMaxRec(A, n - 1);//recursive step                if (min < A[n - 1])        {                    return min;        }        else                        return A[n - 1];    }}`

Benjamin Scott

`char* *********x;`

Tyler Williams

that butthurt guy absolutely seething

John Green

It's compiling it, it just won't execute it if the condition is met.

you don't mean the compiler or compiling but whatever is executing the program (and executing), for example an interpreter interpreting

was forced to learn scheme in college
started programming again
holy fuck, why is scheme fucking CS 101 again? all this other shit is so much fucking easier.

Aaron Morris

internet c++
ivm.sourceforge.net/icvmcpp.html
That's just bonkers. You made a programming language specifically to make an ad-serving videogame?

Colton Howard

scheme is really easy though

Hudson Davis

and yes if you imagine expanding it out in your head it will keep recurring at min = findMaxRec until n == 1 (which will never be the case if N <= 0, e.g. if you call findMaxRec(something, 0) it will run forever)

Elijah Baker

You don't get to learn as much arguably.
I agree though. They should start people off with C instead of high level stuff.

Eli Miller

Lisps are so fucking easy and fun to use compared to C though. I think I wouldn't have dropped out of college if I was taught Lisp instead of that garbage language.

Lucas Young

Are these the fucking pajeets i'm going to have to deal with when I graduate? So far my small uni's CS program is just composed of regular normal people/nerds. Nothing like this shit.

Attached: Capture.png (118 KB, 783x875)

Nathaniel Garcia

twitter posters are a self-selected demographic

Luis Martinez

Literally everyone I know says that,
I found C much, much, much easier than scheme.

Samuel Reed

I find it really interesting that people have such different reactions.

Eli Jones

if there weren't 5 posts i would think he's making fun of the guy here who is still worse even if equally cringy

Asher Evans

The word you're looking for is "insecure".

Anthony Hernandez

I'm tired and misstyped, i thought guy i screenshotted was kinda amusing. What i meant was, is that pajeet who started the thread the kinda people i'm gonna deal with in the workplace?

Austin Scott

it's possible its because I was retard at 18 and the class forced to use old ass terminal computer for lab (all work outside of class had to be written down and manually imputed)

Unlike when I learned C and could just google shit after class.

Daniel Brooks

10x engineers are people who spend a lot of time on their one project. Their environment allows them to work this way. This could be achieved by just working 8 hours a day very diligently or completely destroying a work life balance. Spending maybe 60 hours a week on work.
Split their attention sufficiently and you'll ruin that. That's what this manager sees. He could probably improve general performance by segmenting people more and leaving them alone. Assuming they're not just slacking as soon as they could get away with it.

Austin Wilson

scheme is very easy, dude

Michael Lee

Depends on the company.
Pajeets plague FAANG though.

Eli James

i wouldn't know, i hope not. sounds like something a manager or someone else who doesn't program would say.

Jaxson Fisher

I don't think it was really about the language. Sounds like:
thinking and writing code
vs
copying snippets from stack overflow

Stack overflow didn't exist when I learned C and still psuedo code everything anyways.

Mason Scott

some people are actually proud of being the most cucked wagecuck? HAHAHAH

I can see how that would be difficult. Lisps are normally meant to be used interactively.

Ryan Ross

are you responding to OP pic? I haven't actually read it

Alexander Jones

How do I get started writing the graphics output of a terminal emulator or text write program?

I want to support italic, bold, strikethrough etc., so having bitmap fonts is out of the question, and that means i need some sort of font rasterization shit right?
But how are these rasterized fonts sent to the gpu? Is it just software rendering to a framebuffer thats sent as one big texture?

Wyatt Moore

look up whether or not gcc has an equivalent to

`#pragma comment(lib, "libname.ext")`

first stack overflow page is filled with un*xtards completely misunderstanding how linker pragmas work
wow
i'm not sure what i expected, but it wasn't this
i suppose support in both clang and msvc is portable enough

Leo Nguyen

I believe so, of the two font libs I know, fairly certain stb_truetype works that way, and I think that's how freetype works
As I understand it, fonts are a metric bitch and a half, so I'd use one of those two, definitely wouldn't try rolling your own font library.

Mason Sanchez

I mean that sounds like absolute shit. We are literally in current year and peoplw arent using big shaders to render the fonts for them? Wouldnt that be faster for big text and terminal resolutions?

Ian Cox

Sadly people complain a lot if you just support the minimum set of compilers you need for reasonable cross platform support. According to them you must support their compiler.
Nonsense.

Henry Allen

Where can I get help on a specific question?

Stackoverflow seems to close questions that are not broad enough for everyone to benefit from them.

Jaxson Lee

Either here or wherever the community for the language you're using is hanging out.
Often there's a community irc or slack filled with helpful people.

Jayden Nguyen

have you tried here

Jacob Cooper

I think there's signed distance fields that are used for rendering text. But they're just better not really vector graphics rendering. To me it sounds like that's what you wanted.

Jose Rogers

Noah Clark

I feel a bit bad asking here because I don't want to turn /dpt/ into another homework/help place and I've already posted a few questions this week here.

But anyway, I'm basically struggling with map/reduce in Clojure. I have some code which simplifies my actual program:

`    (def X [ 1 2 3 4 ])    (def Y [ 5 6 6 7 ])    (defn foo [a b c] (+ (* a b) c))    (def answer 0)    (loop [i 0]      (when (< i (count X))        (let [x (nth X i)              y (nth Y i)]          (def answer (foo x y answer))        (recur (inc i)))))    answer ; should be 63`

How do I write this without the loop using a lambda? Everything I try doesn't actually do what this loop does, which is reassign the value of `answer` and use that in the next iteration.

Leo Smith

I want to get a commit in the Linux kernel. Kind of a bucket list thing.

I'm familiar with C and C++, but I was wondering if there was a good, all-encompassing book I could rely on to help me get a good understanding of the kernel to the point where I can contribute to it.

Andrew Phillips

The code gives me nil when I run it.

Caleb Evans

Software project at work started 2 years ago
It's in python 2.x

Seriously, what the fuck is wrong with people.

Julian Butler

reassign the value of `answer` and use that in the next iteration
sounds like a fold/reduce

Nathan Edwards

I'm working on this python exercise where I have to write my own sort() function. I'm trying not to use max either.
What a fucking mindfuck. So far I am able to sort list items with their first character, but I'm currently stuck when the algorithm have to compare the following ones.

Attached: pepe.png (680 KB, 806x1178)

Henry Carter

I don't know how fold works in clojure, but in guile you can do it like this:

`[email protected](guile-user)> (define (foo a b c) (+ (* a b) c))[email protected](guile-user)> (fold foo 0 '(1 2 3 4) '(5 6 6 7))\$1 = 63`

Grayson Peterson

Tried it here app.klipse.tech/ and it gives me 63 as it does in my repl.

Jason Foster

I'm in the same boat. Thankfully we'll be migrating to 3 soon, but we use a patched interpreter so it could take a while...

Brandon Nguyen

Okay this is probably the way to go but the fold in Clojure doesn't work like this. I'm going to have to take some time out and just read the docs in detail.

Jeremiah Rodriguez

small brain
spend a week working through a textbook on a programming language and saving yourself hundreds of hours of headaches
big brain
learning the basic syntax and skipping right into writing code but getting stuck constantly because you don't know the ins and outs
huge brain
figuring out how the programming language works by guessing code and changing it according to compiler errors

Chase Torres

I had a technical interview where one of the questions was how I would write some data associated with a URL to its own file on a filesystem without collisions. I also couldn't modify the URL to use as the filename because it may have invalid special characters and I had to assume that I didn't know what they all were. I might not have interpreted this constraint correctly but I think that's what was said.

My answer was to use a UUID but I was told something along the lines of there possibly being a collision (a UUID doesn't have enough bits to be unique for every URL). It was a good enough answer but not the best one apparently.

What would have been the best answer to this?

Julian Bennett

telling them to fuck off and shitting on their table while screaming for bananas, like a real code monkey

hash the url with a hash that's big enough for their usecase

Alexander Flores

I looked into it, but thats just the particulars of rendering a single character. Unless I missed something, it didnt look like the gpu did the dynamic rescaling?

So for SDFs processed fonts you would supply an alpha only channel image in the same resolution as the original bitmapped font, then adding filtering you could render it at a larger scale using the gpu?

Gabriel Ward

Make sure you're using the right tools for the job.

Attached: tools.jpg (10 KB, 275x183)

Matthew Jones

forth: extinct
forth continued on as post script
There is so much wrong with OP's pic

Zachary Wood

irl URLs map nicely to directories in unix since the only illegal character is /.

Luke Reyes

But I like answering these questions!

`(reduce (fn [answer [x y]]          (foo x y answer))        0        (map vector X Y))`

Owen Miller

not fusing the map into the reduce
2 traversals

Lincoln Thomas

You're probably right, I should put my algorithm on paper before anything.

Jace Jenkins

wait i forgot map is zip in lisp
well you could still do it in one traversal

Mason Perry

`map` produces a lazy sequence, so technically it is one traversal.

Logan Lopez

i c

Maybe they're just asking for base64url or something. But I would consider the question a bit deceptive if that's the case. And very pointless. You'd absolutely Google that normally if you didn't know. It's not a good way to judge someone.
I had to assume I don't know all the invalid characters
To me sounds like you actually just don't know. The point being you can't hardcode for them. I don't know what the point of that would be. I can't think of a way that'd help you. Any substitution would just collide with the substitution as input.

Camden Torres

But anyway, I'm basically struggling with map/reduce in Clojure.

`; MapReduce paradigm in Clojure(reduce + (map * [1 2 3 4] [5 6 6 7]))`

Ayden Bell

protected and endangered same color
Why?

Noah Ward

Any substitution would just collide with the substitution as input
that's why you would escape the escape character too. say if * and @ were invalid and you chose & as your escape character, replace * with &s, @ with &a and & with &&.

Noah Moore

I didn't make the chart. I just found it in my images dir when I was looking for an OP image.

Elijah Gonzalez

orange and red are the same color
????

Camden Kelly

Yeah that seems to work too. I would guess that's the trick they're looking for over someone knowing base64url exists.

Xavier Gray

some people may have colorblindness minor enough that they aren't even aware of it

Jaxson Richardson

Both are red, my dude

Anthony Myers

I have the appropriate color blindness to confuse those two (protanopia) and they're easily distinguishable for me. So I'd say he's pretty severe.

William Miller

or a cheap monitor

David Watson

protected
EB662A
which is orange, made obvious by the fact that it has significantly more green (Ox45 more, to be exact) than
endangered
DD2121
which is mostly red, having equal parts blue to green

Ethan Campbell

whoops
did not mean to include the image again

David Clark

`Int a = 1`
and
`var a: Int = 1`

are those two conventions named somehow?

Attached: 1539720934031.jpg (118 KB, 753x999)

Juan Nelson

Researching deep learning methods to combat abusive language and racism online.

Attached: Screenshot-20190713-185212-Drive.jpg (1.22 MB, 1231x1417)

Andrew Diaz

retarded and less retarded

Brandon Gray

Pic
It's just not there by default.
stackoverflow.com/a/77336
And iirc windows just prompts you if you want to open the debugger.

Gabriel Parker

Godspeed user. When I have kids I want them to be safe. Is there anywhere I can donate?

Levi Parker

Are you a 10x programmer, user?
my yes, look at my anime github profile pic

Cooper Williams

c-style and the retarded type theory one
i don't understand how anyone could defend the latter, it's way too verbose, and nowhere near as readable

Jacob Lewis

//boards.Jow Forums.org/r/catalog#s=programming

Parker Phillips

c-like vs ml-like.

Caleb Collins

you're racist

Oliver Lopez

the second style is more consistent of the language permits type annotations anywhere, otherwise it's just pseud wank

Noah Perry

just drop the dumb var keyword, also retarded type theory one should have type inference (if it really is retarded type theory wankery)
actually even the value 1 should be optional, if it's a good type theory the compiler should be able to deduce the value from the rest of the program.

Ryder Wright

What algorithm/things do i need to get text from image?

Kayden Gomez

how do dynamic websites manipulate dom of a website? I can understand getting values from database and putting them in html but when it comes to displaying information a little more nicely how do the template know about things like how much stuff is coming.
for example a webpage that shows a table and fetches values from database but depending on count of values it changes table row/column and stuff.
generally how do dynamic websites work/created, is database the only thing that separates static and dynamic sites and maybe run server side programs?
what are building blocks of these dynamic websites.

Wyatt Williams

Lisp is the most powerful programming language.

Samuel Jones

Nathan Hill

/dpt/ dev team

Attached: 1562898675138.jpg (170 KB, 1920x1080)

Henry King

//boards.4channel.org/g/catalog#s=wdg

Carson Harris

gyuaru loli
Kuro is a blessing to mankind.

Hunter Cook

the roadmap only tells things about learning to program in a language that are generally used in web backend, and then goes wayyy deeper and leaves actual essential stuff.
I am wondering about the building blocks like routing, response request etc.
any recc that focus specially on backend and server side

Blake Russell

your pull request has been merged

Attached: 1562888352873.webm (928 KB, 1920x1080)

Luke Morales

i would just pick a framework and pick apart the code. also, flask was pretty easy when I used it, but i dunno if it's garbage or not compared to other frameworks:

Parker Richardson

is there a particular language you would prefer to use?

the fuck are you on about? dynamic websites are those that may change on reload unlike static pages that remain the same all the time. Another lesser requirement is responding to user triggered events like clicking but that is also part of the ```responsive``` meme.
Websites obviously use JS to modify the DOM on client-side.
For server-side rendering like Razor pages, an html page is generated from a razor page per request and there should be a mini client.js that sends user events and data to the server and gets a response containing the DOM changes.

Anthony Rivera

python I guess, I have heard java for backend is really hard to get into and only recommended for super big projects but I don't know for sure,

Charles James

Making a simple macro system targeting JFlex lexer generator.

Gabriel Howard

What will these books teach me? I hear bill gates namedropped it. Is it worth reading if I want to be a good programmer?

Attached: 1562973689530.png (206 KB, 768x570)

Camden Diaz

no, you become a good programmer by practicing programming.

Carson Phillips

yes I was curious about that server side rendering, and that web templating that I have heard and you mentioned razorpage, I should research about to understand more, so this process is called server side rendering that was exactly the thing I was curious about,
so its like this,
request goes to those razor page and they upon request use javascript to change dom as response

Jayden Howard

Type theory would be a = 1 : Int if anything.

Levi James

`(let ((a 1))  (declare (type integer a)))`

Cameron Garcia

I want TAOCP but it's mostly driven by bibliophilia.

Attached: sex.jpg (3.11 MB, 3776x2520)

Jeremiah Diaz

thats a lot of boilerplate just for declaring a variable

Jace Ramirez

bUt It'S hOmOiCoNiC

Luke Fisher

i dub thee "reddit case"

Andrew Sullivan

static function in header or library?

Attached: 1562599288803.gif (7 KB, 106x118)

Alexander Long

to be fair, declare has multiple uses. example:

`(let ((a 1))  (declare (type (and (integer -200 10) (integer 0 *)) a)           (optimize speed space)           (dynamic-extent a))  a)`

Noah Hall

I am 100x.

Noah Parker

right one looks like Pascal

Charles Roberts

`let' alone declares a local variable.

Samuel Wilson

making ease to use macro with is simple, there's also library that supports such macro.
Anyways common lisp implementations can ignore declare.
I was thinking maybe it would be faster to declare type but I tried to declare byte 8 variable, when it overflowed it threw error so there's checking in at least sbcl.
common lisp is not good for bit level operations.

James Wood

en.wikipedia.org/wiki/Rule_of_least_power
does it mean that lisp isn't used because it's too powerful?

Camden Evans

common lisp is not good for bit level operations.
It's just verbose as shit.
cs.cmu.edu/Groups/AI/html/cltl/clm/node131.html

William Long

Yes

Dominic Rogers

I fucking need to get rich by selling a game.

Logan Watson

won't happen. sell a service, not a product. services are all the rage.

John Carter

switch to C++ and use inline dummy

Levi Rodriguez

wtf is this common lisp?

Hudson Howard

me on the right

Luke Butler

yes

Joseph Reyes

she doesn't actively try to prevent C++ programmers from using his libraries while they port it for her because they love it
Why even write it? Just stop.

Jonathan Russell

she

Joshua Kelly

youtu.be/SnQ1Vb4fFsk
see 26:45
A better (slightly outdated) introduction instead of gist is done by Damian Edwards also on NDC

Mason Parker

C++20 modules

Mason Gomez

Can someone tell me why the program in pic-related is dozens of times slower than its counterpart written in YaBasic (a BASIC dialect)?
In Yabasic it takes a couple seconds to get a canvas like pic related, in Python it took a couple minutes

Attached: dots.png (1.38 MB, 1230x993)

Jonathan Richardson

I hope your 1984 bot bans you

Justin Cruz

python isn't exactly known for its speed
use a profiler
docs.python.org/3/library/debug.html

Zachary Williams

good luck

Eli Lee

I generally use it to denote fiction.

Samuel Kelly

why didn't you use it then

Eli Johnson

create_oval is probably doing lots of sin calculations just to see if a pixel is interior or exterior to the shape.

Wyatt Lee

some programming languages are faster than other programming languages, not sure why this is a surprise

Xavier Walker

You are wrong fucking retard.

Aiden Turner

Samuel Williams

inb4 muh implementations cringe

Mason Reyes

yes but what's the reason fpr that?

Jason Flores

There are certain properties of languages which allows them to be implemented more efficiently than others.
Until a truly perfect optimiser exists, you can't just go on about "muh implementation" maymay. I wouldn't count on that, since many optimization problems are NP-complete or even undecidable.

Oliver Davis

implementation. try running the python code with AOT/JIT like pypy or whatnot.

Ryder Robinson

Why this loop run for 5 times when my vector size is 10?

`int main(){  std::vector<Entity*> EntityArray(10,NULL);  std::vector<Entity*>::iterator it = EntityArray.begin();  int i = 0;  for(it;it != EntityArray.end();++it)  {     char t = getchar();     switch(t)     {       case 1:       case 2:       case 3:         *it = new Car();     break;       case 4:       case 5:         *it = new Human();     break;       case 6:         *it = new Ball();     break;       case 7:          *it = new Entity();      break;       case 8:       case 9:       case 10:       default:         *it = new Player();     break;      }  }  it = EntityArray.begin();  while(it != EntityArray.end())  {    (*it)->DoSomething();    ++it;  }  EntityArray.clear();}`

Sepples was a fucking mistake.

Gabriel Allen

clearly you have never heard about ZERO COST

Matthew Perry

revolting

Alexander Flores

Mistake.

Daniel Perry

you use the host language to define eval

Blake Cook

1/3

Daily offer to prove that C++ is actually no really guys I'm serious capable of performing outstanding memory allocation optimisations:

Then why don't you go ahead and run some C++ program with an overloaded malloc implementation that counts how many 64-Bytes-or-less allocations have been performed? And with a corresponding free overload you can see how long they survived. I also don't care about your synthetic benchmarks for a simple program, all right? I want real-world applications.

, and that's why it's better than C.

inb4 the compiler cannot apply its optimisations
Most real-world applications link their shit dynamically. Dynamic linking means you can inject symbols via LD_PRELOAD on Linux (no idea about the interface on Windows however). Since the compiler has NOTHING to do with symbol resolving that should give you a proper idea of how much a C++ compiler is actually capable of optimisation.

inb4 I'm too dumb to do that; gimme code/instructions!
Take the following code and put it into libcm.c:

`/*\$ gcc libcm.c -c -fPIC -o libcm.o -O3 -Wno-unused-result && gcc -shared -Wl,-soname,libcm.so.0 -o libcm.so.0.1 libcm.o**\$ LD_PRELOAD=./libcm.so.0.1 <program to inject into>*/#include <time.h>       /*time*/#include <unistd.h>     /*write*/#include <string.h>     /*strlen*/#include <stdio.h>      /*sprintf*//*No include file introduces the __libc_* symbols, but they're still present**in libc.so - see:**`readelf -s /lib/x86_64-linux-gnu/libc.so.6 | grep 'malloc` or whatever your**glibc path is. As such we can simply introduce them here and then rely on**the linker to resolve them for us.*/extern void*    __libc_malloc(size_t);extern void*    __libc_calloc(size_t,size_t);extern void*    __libc_realloc(void*,size_t);extern void     __libc_free(void*);#define PRINT_SHIT#define OUTPUT_LENGTH_MAX (128)#define DO_PRINT write(STDERR_FILENO,output,output_length)static size_t counters[4] = {0};`

John Carter

this is how I get help here.

Julian Perry

2/3

`__attribute__((destructor))void cm_stats(void){        char output[OUTPUT_LENGTH_MAX];        int output_length;        output_length = sprintf        (                output,                "Mallocs: %lu\n"                "Callocs: %lu\n"                "Reallocs: %lu\n"                "Frees: %lu\n\n",                counters[0],                counters[1],                counters[2],                counters[3]        );        DO_PRINT;}/*Unfortunatey we cannot print the time in a proper fashion because calling**localtime_r causes the program to lock up. Hard. I cannot even fathom what**sort of lock it is that localtime_r and malloc are contesting for, and to be**quite frank I don't fucking care either.*/void*malloc(size_t size){        /*We cannot use printf/fprintf because those functions may request        **memory themselves. That's why we sprintf everything into our        **own buffer and write it directly to stderr.*/#ifdef PRINT_SHIT        char output[OUTPUT_LENGTH_MAX];        int output_length; /*WHY THE FUCK IS THIS SIGNED?*/        time_t ut;#endif        void*ptr;        ptr = __libc_malloc(size);        ++counters[0];#ifdef PRINT_SHIT        time(&ut);        output_length = sprintf(output,"[%lu]: Allocate %p|%lu\n",ut,ptr,size);        DO_PRINT;#endif        return ptr;}void*calloc(size_t nmemb,size_t size){#ifdef PRINT_SHIT        char output[OUTPUT_LENGTH_MAX];        int output_length;        time_t ut;#endif        void*ptr;        ptr = __libc_calloc(nmemb,size);        ++counters[1];#ifdef PRINT_SHIT        time(&ut);        output_length = sprintf(output,"[%lu]: Callocate %p|%lu\n",ut,ptr,nmemb * size);        DO_PRINT;#endif        return ptr;}`

Lucas Cook

optimizations are an implementation detail and not something general.
An llvm lang like swift is slower than C# and Java and a python-like lang like Nim is faster than all the previous because of implementation and not syntax.

Tyler Wright

3/3

`void*realloc(void*ptr,size_t size){#ifdef PRINT_SHIT        char output[OUTPUT_LENGTH_MAX];        int output_length;        time_t ut;#endif        void*ptr_new;        ptr_new = __libc_realloc(ptr,size);        ++counters[2];#ifdef PRINT_SHIT        time(&ut);        output_length = sprintf(output,"[%lu]: Reallocate %p to %p|%lu\n",ut,ptr,ptr_new,size);        DO_PRINT;#endif        return ptr_new;}void free(void*ptr){#ifdef PRINT_SHIT        char output[OUTPUT_LENGTH_MAX];        int output_length;        time_t ut;#endif        __libc_free(ptr);        ++counters[3];#ifdef PRINT_SHIT        time(&ut);        output_length = sprintf(output,"[%lu]: Free %p\n",ut,ptr);        DO_PRINT;#endif}`

inb4 cnile
still no data
still winning

Â¯\_(ãƒ„)_/Â¯

Caleb Morgan

how are you determining that it runs five times?
it may be that getchar() also gets newlines when you press enter, so it looks like it only asks you five times. you could change the default case to print a warning for unrecognized characters or something.

Jack Rivera

I'm trying to thread together a monitoring system with the virtual machine infrastructure with a script so I can automatically do things like query if a vm got shutdown and the last user who touched it. Or boot every VM that was detected as shutdown in the last 15 minutes. Generally my goal is to use simple verbose maintainable scripts to create tools to automate infrastructure monitoring and perform autoremediation.

I've never been a programmer persay yet I find myself reinventing myself into a devops guy and I'm now learning my 4th language. I go to work and I see sysadmins literally ignoring vendor provided best practices that document how to do a specific task with a script and instead come up with pages of step by step directions in a word document. If you can write directions you can write a script you just need to learn the language and syntax. Yet people just don't. I'm starting to realize the opportunity in this phenomenon.

Owen Flores

memory allocation optimizations C++ has but not C
I can imagine circumstances where C++ allocators allocations can be elided but malloc allocations can't. But that's not fair because it's mostly a C++ standards flaw that they don't require malloc to be worked on as much. Nothing inherent.

Caleb Stewart

Generally my goal is to use simple verbose maintainable scripts to create tools

Jaxon Rogers

Just test it out, then. Should work with any program, whether it be C or C++.

Chase Robinson

But that's not fair because it's mostly a C++ standards flaw that they don't require malloc to be worked on as much.
What does this mean?

Owen Hughes

some languages are compiled to machine code and some run on interpreters

I have no idea what you're trying to say user
or are you just blogging?

Chase Morris

I'm working on a Python application for turning a database of cryptocurrency tweets into profitable trades. Following a YouTube video now from quantopian. Will be used to increase bank revenue.

Jordan Ward

No that's dealing with the reality that my co-workers don't know how to code and an unmaintainable script and tools that can't be used and maintained by people who can barely code are self-masturbatory and useless.

I have one tool I've already created that just runs a custom query against several different databases which previously had to be searched independently and prints out a report. The maintainability is one of the things I'm struggling with the most because I'm pretty clueless when it comes to best practice.

Isaac Jones

this reads like a post from that indian guy talking about being a 10x engineer

Benjamin Williams

2nd paragraph is a blog but 1st paragraph isn't?

Nothing that I said is that complex? I keep wondering why people find the simple ass shit I do so hard to understand...

Luis Sullivan

Maybe because you manage to convey little thought with many words?

Nicholas Clark

I keep wondering why people find the simple ass shit I do so hard to understand...

Attached: 5eb.jpg (22 KB, 480x600)

Julian Nguyen

Robert Wilson

wuts a 10x engineer?

Jose Smith

literally the fifth post of the thread
wuts CTRL+F

Wyatt Anderson

Liam Peterson

Nice try, but it's not my post. I don't even have a Twitter account.

Boy, aren't you feeling stupid right now ...

Jayden Williams

I think the issue is maybe that I'm coming from the sysadmin side and don't know how devs communicate?

Or maybe ya'll haters. Maybe both. I'm just happy because I've never been paid to write scripts before and I'm improving where I work.

Xavier Hernandez

how devs communicate
We mostly grunt and fart while compiling kernels.

Landon Hernandez

Why don't people use vocative commas?

David Reed

You're trying to brag and sound smart about doing something simple

Luis Ross

Tell me... how do I become a codemaster?

Attached: Jigoku.no.Fubuki.full.2455224.png (101 KB, 526x696)

Kevin Roberts

Learn Lisp.

By stopping wanting to become one.

Nolan Foster

being this much of a tryhard

David Sanchez

Ah... so it's like a "the codemaster was already inside of you" kind of thing?

Luke Thompson

hol' up
what you're calling a dev is in fact a GNU/hacker

Robert Mitchell

No, it's more like a "Once you've dealt with all that shit you realise that it wasn't worth it" thing.

Bentley Parker

once you reach the codeninja rank you have to complete the "hacking chopsticks" quest given by RMS.

just bee yourself user

Attached: 1550588978935.png (1.54 MB, 1280x720)

Jaxson King

why do people claim that haskell has no real world uses, it literally has a RealWord type in the standard library!!

Attached: 1558517914949.png (7 KB, 1337x73)

Jose Morales

This is why you write DSLs like a good lisper that's easier to write when you have to be fine detailed.

Ryan King

I mean I used the word "simple" in my first post.

The idea also gets more complicated due to the quality of the data I'm working with. Basically how this company I'm working for worked was, they would make a VM, email another team the info, and they would punch in info into the monitoring system. This has led to a LOT of human errors and inconsistencies between the two databases. So if I search for something on the 2nd database based on an entry in the 1st database I might not find anything just because somebody fucked up.

I can make what I described kind of work... but I'm trying to figure out how to make the script robust enough to not get fucked up by bad data in either database. I'm finding this tricky...

Ryder Jackson

due to the quality of the data
Lol

Brody Campbell

Haskell never manipulates values of type RealWorld

Alexander Brooks

I have been using Haskell for awhile now, and this is what I have found wrong with the language:
horrid macro system
modules are deficient compared to the module system of OCaml or the package system of Common Lisp
broken records (ugly hacks are needed to get around their deficiencies, leading to overengineered libraries like lens)
most libraries are in alpha and look like a college student's summer project
library authors tend to pepper their libraries with ugly, meaningless, custom operators, contributing to the overall ugliness of the ecosystem
String as [Char]
easily subverted type system with unsafe functions
laziness makes it a chore even for experienced programmers to reason about algorithmic complexity
in 30 years of existence, Haskell has yet to become a proven asset in industry

I'm thinking of something I heard. It's not the freshest memory. But I believe in c++11 the standard started allowing new and delete to be elided. So you'd have a conforming compiler even if you didn't new/delete every time you saw those in code. You'd still have to construct/destruct obviously. But no allocation. I don't know if malloc and free got that same treatment. If they didn't then malloc will always alloc and free will always free. Even when it's unnecessary (it'd be smarter to put things in registers or on the stack or whatever).
It's obviously not the kind of comparison user is asking for even if that's the case. It's not really efficient allocation. It's just the standard being biased.
But you should look that up. As I said I don't remember this well. And the malloc/free situation is speculation. It wouldn't surprise me that much.

Hunter Edwards

i agree with most of this but i think good things have come out of it, which i'd include lens in. some of it i think can't be helped.

Josiah Thomas

If I'm missing an easy solution I'm all ears.

Parker Nelson

Yikes

`int main(){  std::vector<Entity*> EntityArray(10,NULL);  for(auto& it: EntityArray){     char t = getchar();     switch(t){     case '1':     case '2':     case '3':         it = new Car();     break;     case '4':     case '5':         it = new Human();     break;     case '6':         it = new Ball();     break;     case '7':          it = new Entity();     break;     case '8':     case '9':     case '0':     default:         it = new Player();     break;      }  }   for(auto it: EntityArray){     it->DoSomething();   }     for(auto it: EntityArray){      delete it;   }}`

Jack Butler

repulsive

Jason Scott

user, it's not like you'd actually run the programs you wrote

Ethan Price

Pretty sure you'd figure this out yourself if you just step through it with a debugger.

Elijah Bennett

that's not a bad thing, imo
broken records (ugly hacks are needed to get around their deficiencies, leading to overengineered libraries like lens)
completely agree, except that lens is actually something good, sure the initial motivation was records, but it is so much more today.
String as [Char]
I used to agree with this, but then I realized no matter what representation would be chosen in the standard library, there will always be unhappy people about it. It's not like every library out there used String for everything either.
easily subverted type system with unsafe functions
laziness makes it a chore even for experienced programmers to reason about algorithmic complexity
it also has a lot of upsides imo, and making things Strict is a trivial matter

Blake Murphy

Joseph Davis

not him but imo the solution is either don't have String, or have String be Text. when people want [Char] they can do [Char] and it tells them more about it being an iterator of characters than a block of unicode text.

James Smith

youtu.be/tYiKM1rIWx4

Attached: FB-IMG-1562552985860.jpg (24 KB, 720x540)

Oliver Peterson

I have been using Haskell for awhile now
why would anyone do this

Parker Martinez

in the first place fields aren't overloaded so you've got to use namespace qualifiers or avoid using the same names
in the second place nested record updates suck. obj { x = (x obj) { y = (y obj) { z = newZ } } } for obj.x.y.z = newZ
overloadedrecordfields will remedy some of this but still, use lens instead. (it has some passing relevance for naming fields which is useful for generic code)

Easton Brooks

redpill me on C++ build systems

Attached: shirt.jpg (21 KB, 628x626)

Joshua Morales

It wasn't built for industry.

Henry Lewis

Some people treat their brain like a garbage can and literally put everything in it.

Jaxon Clark

thats a funny way of calling something useless

Matthew White

lgbt++

Parker Powell

C++
build systems
lel as if sepples alone is not enough of a catastrophe

Attached: havesex(with-mari).jpg (46 KB, 907x718)

Julian Sanders

It isn't useless. Even though it wasn't built for industry, Haskell is a language that people who want to be good at programming ought to know.

Gabriel Ross

yes, sure, but then people would complain about String being Text and not ByteString, and how it's confusing to not be able to treat them like Lists and how they can't use the same functions for lists and strings, etc. etc.

Jaxson Parker

a programming language that has no use is useless, and the idea that you should know a useless language to become a "better programmer" is false, or only applies to beginners at best

Jose Martinez

You should know it so you can exploit new ideas that come out of academia before everyone else does. It gives you an edge.

Asher Powell

nobody should complain about ByteString not being string, instead they should complain about it ever having been called ByteString in the first place

Isaac Torres

Who in this thread is a codemaster?

Attached: 1562457739265.jpg (86 KB, 640x480)

Samuel Jenkins

it isn't useless
muh IO isn't pure
muh unsafe*
muh Debug.Trace
god you brainlets need to kys

Joseph Scott

who want to be good at programming ought to know
What if I don't know Haskell, am good at programming, but don't want to be?

Haskell can go fuck itself back to the scrapyard it crawled from. I can waste my time doing much more productive things, like farting.

Parker Flores

not an argument

Connor Price

you can exploit new ideas that come out of academia before everyone else does. It gives you an edge
this is the most ridiculous thing I've ever heard
new ideas that give you an edge in programming come from people doing the programming
programming academia is people huffing their own farts, nothing "new" has come from it in half a century

Christopher Lopez

Haskell is a language that people who want to be good at programming ought to know
for that to be true requires Haskell to be a good programming language which it isn't

Isaiah Edwards

Was looking for a source for because it's bothering me that I don't know.
Found this (#4). And this website thinks it can educate people. How could someone even believe this?

Attached: .png (147 KB, 1080x1046)

Chase Brooks

Code connoisseur reporting in

Kevin Cook

a programming language that has no use is useless
but that's not what useless means

have sex you dumb cnile

Attached: 1558043391796.png (217 KB, 480x360)

Camden Allen

would like to have a word with that person.

Landon Ramirez

the latter (You) was misdirected

Elijah Hernandez

based retard

How are partial functions not bad thing? With some exceptions (e.g. having divsion be total would be really annoying), getting an error during run time is bad enough that I don't think the comfort is worth it.
it also has a lot of upsides imo, and making things Strict is a trivial matter
laziness has upsides, but it being the default is absolutely idiotic.
Making something strict isn't hard, but having to write it everywhere is annoying and makes code less readable.

Austin Turner

new allocates memory and calls constructor but malloc allocates memory and does not call constructor
This broken English reads like pajeetspeak.

Connor Murphy

no it doesnt and yes it is

Samuel Ortiz

It's an excellent programming language for journal articles.

Jack Bell

the cost and friction of disallowing partial functions is very high for non trivial programs, especially when performance matters
Making things lazy in a strict by default has a higher cost. But I get it, you don't like it.

Robert Morris

programmers should know bad programming languages because it makes them "better at programming"

Brayden Hernandez

All aboard the Racket train.

Attached: 1562893704222.png (3.48 MB, 1536x2048)

Benjamin Green

laziness has upsides, but it being the default is absolutely idiotic.
This is a totally retarded idea that has somehow become popular. It has already been pointed out (not in this thread) that it was the main premise of Haskell, and it being pure was more a consequence of that. It is by no means easy to mix strictness and laziness, and laziness benefits from being pervasive.

Christopher Lewis

Whoops, wrong image.

Attached: maxresdefault.jpg (136 KB, 1280x720)

Angel Bell

all those butthurt sjw hipster startup webdevs

Ayden Bailey

You only need to know one language, and that language is C/C++.

Attached: 1562959440733.jpg (581 KB, 1080x1920)

Tyler Diaz

It was the first hit for me when searching malloc vs new. Only went there because the short text Google shows caught my eye.
You're absolutely right though. I imagine they were told this by their professors because clients want them to conform.

Attached: Screenshot-20190713-170643~01.png (588 KB, 881x1628)

Luis Mitchell

i'm no fedora tipping "'free'thinker" but the strenuous logic in your reply should be pretty obvious to you

Jose Mitchell

I don't mind getting an error during runtime. If I call a partial function with a value outside its domain it's probably because I fucked something up, and I'd like to know.
There are cases where I wouldn't mind if the function just returned something sensible, but I suspect what's sensible depends on circumstances.

Benjamin Clark

Stop bully.

Connor Ward

You only need to know one language, and that language is Lisp/Common Lisp.

Henry Gonzalez

the only strenuous logic here is people claiming you should learn a useless programming language to be good at programming

Alexander Barnes

Attached: disgust.jpg (27 KB, 473x473)

Lucas Green

You misspelled C/x64 assembly.

Nathan Sanders

C/C++
that's not language you fucking retard

Isaiah Richardson

If I call a partial function with a value outside its domain it's probably because I fucked something up, and I'd like to know.
not him, but you will know at compile time, that's the point of forbidding them lmao

Austin Young

what you're thinking of is in fact GNU/C

Grayson Hall

I'd just like to interject for a moment. What you're referring to as Linux,
is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux.
Linux is not an operating system unto itself, but rather another free component
of a fully functioning GNU system made useful by the GNU corelibs, shell
utilities and vital system components comprising a full OS as defined by POSIX.

Many computer users run a modified version of the GNU system every day,
without realizing it. Through a peculiar turn of events, the version of GNU
which is widely used today is often called "Linux", and many of its users are
not aware that it is basically the GNU system, developed by the GNU Project.

There really is a Linux, and these people are using it, but it is just a
part of the system they use. Linux is the kernel: the program in the system
that allocates the machine's resources to the other programs that you run.
The kernel is an essential part of an operating system, but useless by itself;
it can only function in the context of a complete operating system. Linux is
normally used in combination with the GNU operating system: the whole system
is basically GNU with Linux added, or GNU/Linux. All the so-called "Linux"
distributions are really distributions of GNU/Linux.

Aiden Sullivan

I didn't refer to linux

Samuel Williams

as a basic fan, the basic progression is shit.
basic -> ms basic 2 -> visual basic?
where are the others?

Ya sure?
-pedantic -ansi

erlang is the only language that matters

Julian Gomez

You mean Turbo Pascal.

Sebastian Harris

user, you mispelled forth

Jayden Campbell

The only language that matters is the language of love and fellowship.

Attached: 1562920763235.jpg (24 KB, 482x511)

Mason Harris

." I did, sorry " reply

Ryder Martinez

Get lost, Hippie.

Brayden Rodriguez

I'm nazbol tho.

Nathaniel Hughes

Just learn how to program and get a job lol
Then I looked at job descriptions, every single one was for junior dev

We expect University studies in technology, also Java and linux skills
We expect MS NAV, C#, .NET Framework, JavaScript, MS SQL, RDL CGit, PowerShell
We expect Solid knowledge of JavaScript and React from work, studies and/or hobbies
Previous experience in software development, C++ skill and an university degree in IT field
University studies related to IT, experience with graphical test engines and matrix calculation or linear algebra

Jesus christ, how horrifying. What a meme field and yet I see politicians and people trumping up the "just l2howto code"

Attached: 1450005628777.png (650 KB, 635x572)

Charles Smith

Most of that isn't bad besides the microshit shit and whatever flavor of git rdl cgit is supposed to be.

falling for the STEM meme

Hudson Hughes

based and linepilled

Logan Jones

lol, you're not supposed to look at the job description

Jordan Hernandez

It isn't bad because it's microsoft, it's bad because of the huge variety of frameworks/paradigms/etc you're expected to be intimately familiar with.

Asher Young

That just means those companies don't actually need developers. If they'd actually need them you'd see them on their knees in front of colleges and hackathons searching for someone, *anyone* who's not a complete Pajeet.

Demographics are playing in your hands, user. The older generation who maintained those systems are going to retire very soon, and then shit hits the fan.

Tyler James

Leo Rogers

They are basically asking for you to be familiar with a terminal, some javascript webshit and some java/c++/c# which are all variants on the same theme. It's not that bad.

Carson Sanders

look, its quite simple, if you are a good programmer you already have a portfolio of your projects, even if they are unpaid open source and hobby stuff, you send the company your cv, you ignore pretty much all the requirements except for languages that they use/are asking or at least main production language, if you are the real shit, they will call you back, invite for a short interview and then hire you. If you are just a code monkey who does it for the money, or because some school counselor recommended "IT" or because whatever you you chose randomly to study IT after hs, then even if the requirements were non existent they most likely wouldnt hire you.

William Foster

t. webshitter who takes all his js framework bullshit for granted but doesn't see how it's literally the same as a white pajeet taking C#.net for granted and blaming js/react/etc

Isaiah Nelson

that's not how it works user
we need an extra programmer our on team, but we can survive without one for a while. On one hand I'd rather wait and get a good one instead of rushing on the first monkey we can find, on the other recruiting is a huge time sink and if we spent all our time on that we'd need 5 more programmers on the team

Caleb Hill

This is insane. Do you think bounds checking should be off by default because of performance reasons?
Give people an unsafe option if they really need it, but there's no reason to have that shit be the default.
Frankly, if you're in a problem domain where those kinds of microoptimizations aren't premature, you're probably using the wrong language.
Making things lazy in a strict by default has a higher cost.
What? I don't see how, unless the language doesn't support laziness.
And research on a lazy-by-default language was definitely good, but that doesn't change that it's a poor fit for a language if you want to use it in the industry.
That kind of approach might be okay if you're doing prototyping, but beyond that it really isn't a good idea. A program that doesn't do correct error handling just isn't acceptable.

Joseph Baker

Some places have started saying 'ideal candidates fit these requirements:'
Which is a much more accurate description of what that is.
Think of it as what you'll be learning to work with instead.

Zachary Reyes

it isn't really a poor fit though unless you think programmers do nothing but reimplement the same data structures and algorithms
there's literally no difference between Java/C#/C++ importing a set and doing the same thing in haskell

Landon Price

but we can survive without one for a while.
Then you don't NEED one, it'd just be nice to have one. See initial post.

Right now a lot of companies don't have the foresight to look further than 2022, which is when demographics are really coming into place. Whom will you have trained by then?

Because then actually NEED will *skyrocket*.

Ryder Reed

c is literally a jail to programmer's mind.

Christopher Wilson

user, I don't think you can read

Thomas Parker

what the fuck are you talking about?
It's a poor fit because of unpredictable performance.

Andrew Young

I don't think you can read, you can literally take the "microshit is partly to blame" and replace it with "javascript shit is partly to blame", which shows you that it isn't individual "ecosystems" or technologies that are at fault but them all being thrown at you at once

Parker Walker

Try using ed unironically to experience a state of zen.

Attached: p.jpg (166 KB, 1000x1500)

Dominic Hall

I said both
not like microshit ever produced anything of quality
you've shilled enough in this thread, you can relax now, I'm sure you'll get paid

Jackson Diaz

start using emacs to live in zen

Sebastian Edwards

you haven't understood at all you stupid fuck, and who are you to accuse anyone of shilling? i've said negative shit about both (and nothing positive in fact, other than you shouldn't blame either of them for this problem), you've done nothing but criticise, who's paying you?

Owen Sullivan

Rate my Project Euler 18 solution

`def map_string_list_to_int_list(str_list):    return list(map(lambda string: int(string), str_list))def map_int_list_to_node_list(int_list):    return list(map(lambda weight: Node(weight), int_list))class LongestPathFinder():    def __init__(self, raw_triangle):        self._parsed_triangle = list(map(map_int_list_to_node_list, map(map_string_list_to_int_list, map(lambda row: row.split(' '), raw_triangle.split('\n')))))        head = self._parsed_triangle[0][0]        head.add_distance(0)            def find_path_that_produces_biggest_sum(self):        for i in range(0, len(self._parsed_triangle) - 1):            for j in range(0, len(self._parsed_triangle[i])):                current_node = self._parsed_triangle[i][j]                next_row = self._parsed_triangle[i+1]                next_row[j].add_distance(current_node.get_max_distance())                next_row[j+1].add_distance(current_node.get_max_distance())        return max(map(lambda node: node.get_max_distance() , self._parsed_triangle[-1]))    def __str__(self):        string = ""        for row in self._parsed_triangle:            string += "{}\n".format(list(map(lambda node: str(node), row)))        return string.center(40, ' ')class Node():    def __init__(self, weight):        self._distances_from_the_top = list()        self._weight = weight    def add_distance(self, distance):        self._distances_from_the_top.append(self._weight + distance)    def get_max_distance(self):        return max(self._distances_from_the_top)    def __str__(self):        return str(self._distances_from_the_top)    def __gt__(self, other):        return self._distances_from_the_top > other._distances_from_the_topdef main():    with open("triangle67.txt") as input_file:        raw_triangle = input_file.read()        triangle = LongestPathFinder(raw_triangle)        print(triangle.find_path_that_produces_biggest_sum())`

Cooper Rodriguez

nice try, shill, but nobody will fall for this poor no u tactic

Michael Mitchell

Attached: comfy.png (122 KB, 585x758)

is that a background image or just in the scratch/welcome buffer?

Eli Taylor

24.4.1
get to my level

`This is GNU Emacs 27.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.9) of 2019-07-11`

Mason Flores

it isn't really unpredictable most of the time though, it's pretty much just when you're analysing the complexity of an algorithm. and most of this is only "unpredictable" because people are taught strict evaluation and techniques relevant to it.

Joseph Thomas

Rewriting my shit from Django to Django

Jace Lopez

in fact you see people complaining about something being unexpectedly slow or fast in strict languages all the time, because performance itself is difficult to predict except in small sections of code, not because strictness or laziness is making it worse

Jack Anderson

I've been working in security and other non-programming related fields for awhile now. I still write the periodic script here and there but I've really let my programming ability slide off, thinking about moving to a slightly more programming heavy role for a bit.
Any good websites or exercises to get back in the habit? Mainly a C programmer but more just getting back in the mindset rather than being a library whore.

Jackson Morris

I thought Python supposed to be readable.

Juan Long

It's part of the welcome buffer, you can change it with

`(setq fancy-splash-image "~/.emacs.d/splash.png")`

Thomas Carter

Has anyone been in contact with KNX?

I want to do some interfaces (e.g. a QT interface) to visualize a few buttons which send tcp commands into a KNX network to an actor.

How do I get started?! Do I need a KNX/IP router or gateway? Is it even possible to do what I want? Is there something easy that already exists to do what I want?

Sebastian Brooks

best country/city to get a good paid job as a programmer?

Landon Russell

Unironically, California. Everything else there sucks, but you'll get paid 3 times as much, cost of living is higher but the pay increase is still more. Plus you'll be saving more so once you're done with that shitty state you'll move away with a fuckton of extra cash.

Ian Ortiz

terrible font rendering

Luis Gray

California
Where you require an AC to survive

Levi Carter

work remotely and then the whole world itself will be your office.

Attached: mid-img-0632.jpg (120 KB, 675x900)

Jaxson Perez

So much this

Michael Foster

done only 2 semesters so far
show up at a webdev place uninvited
Congrats, you're hired!
place is chill, people are not afraid to mentor and teach things and they pay is good too (yes they pay me to learn there)
lmaoing @ all the losers in here

Isaac Wood

The issue isn't the time complexity of algorithms, it's that you don't have any (easy) guarantee as to when it will be evaluated. Even a seemingly easy operation can have large latency because it causes more complex operations to be evaluated, that had been building up until now.

William Reyes

God I wish that were me

Ethan Taylor

Yes, and? Half the states in the US requires either AC or heaters.

Anthony Martinez

It was off google to save me taking a screenshot, but here.

Attached: 2019-07-13.png (209 KB, 1920x1200)

Juan Barnes

Yeah, it's truly crazy. Lisp is so powerful that problems which are technical issues in other programming languages are social issues in Lisp.

Attached: watermelon.jpg (415 KB, 1600x1200)

William Perez

Basically this
sophomore year
apply for internship with no experience outside if programming 101
you're hired!
3 years of them teaching me everything I'm hired full time
I dont get how people have a hard time getting CS jobs.

Elijah Carter

Charles Morales

When latency is a concern you can sequence evaluation order (which you would have done in a strict language anyway)

Caleb Martin

All I'm saying is that human beings are not picking the best places to live. You can still do it, but why bother?

Andrew Wilson

They are though. Picking New York means killing the people presently living there because it's over populated.

Aiden Collins

For the sweet sweet cash monies.

Robert Roberts

sequence evaluation order
I'm not exactly sure what you're trying to, could you elaborate a bit?

Cooper Robinson

yes, turns out there are lots of applications where you have a very good knowledge of your domain.
bounds checking
if that's the only reason you care about total functions, well, I'm sorry I just couldn't care less about your opinion. It's not like we have a gorillion cheaper ways to ensure these don't go wrong.

Mason Perry

seq like in haskell, say A should be evaluated before B

Luke Ward
Camden Watson

I've never heard of that referred to as "sequence evaluation order", but alright.
And yeah, that's what I do, but if I already have to litter my code with bangs just to get strict evaluation back, that kind of makes lazy evaluation redundant.

Jose Gutierrez
Andrew Anderson

Example?

Nathan Walker

You completely missed the point of my post instead responding to claims I never made, but whatever.

Ayden Scott

Well the point is it only matters at certain points, e.g. latency isn't always a concern. It might be one extra thing to think about but then so are side effects and unnecessary complexity from strict evaluation.

Henry Roberts

your point is literally "not bound checking is really bad, there's no excuse for not doing it, therefore we need to forbid partial functions because it's the only way"

Lincoln Collins

no, it's that it has no point in being the default. I've even explicitly said that there should be an unsafe option to circumvent that if you need it, just like how it is with bounds checking.
But whatever, you obviously have no interest in actually engaging with what I'm saying