Quantcast
[ 3 / biz / cgl / ck / diy / fa / g / ic / jp / lit / sci / tg / vr ] [ index / top / reports / report a bug ] [ 4plebs / archived.moe / rbt ]

Maintenance is complete! We got more disk space.
Become a Patron!

/g/ - Technology


View post   

[ Toggle deleted replies ]
>> No.74270280
File: 287 KB, 850x1287, 1577939397227.jpg [View same] [iqdb] [saucenao] [google] [report]
74270280

>>74270271
First for anime.

>> No.74270304
File: 562 KB, 2880x1800, lisp.png [View same] [iqdb] [saucenao] [google] [report]
74270304

>>74270271
Lisp is the most powerful programming language.

>> No.74270310
File: 999 KB, 1920x1080, 100_-_Flutter.png [View same] [iqdb] [saucenao] [google] [report]
74270310

Nothing ATM except for my programming language which I've put on hiatus

>> No.74270325

>>74270305
pls help

>> No.74270357

>>74270325
This is what happens when you use proprietary software.

>> No.74270430

>>74270423
you won't be paid for it

>> No.74270458
File: 3.41 MB, 450x399, 1571371053463.gif [View same] [iqdb] [saucenao] [google] [report]
74270458

>>74270304
That's not how you spell ML

>> No.74270465

Alright boys, obviously this is python because I'm a basic freshman cs major. Trying to create a program to test another program 100x, then show me the most common error. haven't been able to figure out the first problem here. Assume the file-path entered is /home/user/

import subprocess
location=input("What's the file-path?\n")
subprocess.Popen(location)
subprocess.returncode()


I repeatedly get the error
PermissionError: [Errno 13} Permission denied: '/home/user/'


I've given the program all the permissions I can, and have run the program with sudo, no luck. I'm using Fedora for what it's worth.

Any help would be greatly appreciated.

>> No.74270474

Do I learn Haskell, Racket, or Ruby for my next project, a text editor.

>> No.74270489

>>74270474
Haskell

>> No.74270492

>>74270465
Does the path exist?

>> No.74270529

what /dpt/ needs more of is haskell fans angry that not every language is the same as haskell

>> No.74270533

>>74270529
but i suffer enough programming in haskell
why would i want others to suffer?

>> No.74270536 [DELETED] 
File: 7 KB, 300x168, 12AD7F2D-8606-4667-9EE6-D719D18C50C0.jpg [View same] [iqdb] [saucenao] [google] [report]
74270536

>>74270446
Trannies hate anime because they're jealous of cute anime girls.

>> No.74270543 [DELETED] 

>>74270536
rust toddlers BTFO

>> No.74270608

i can't understand the forth hello world on wikipedia

>> No.74270613

>>74270492
>>74270495
>>74270503
(building on >>74270465)
Alright, that helps a lot. I'm trying to navigate to a folder that will contain a file, then execute the file using
python3 file.py
I originally thought that
subprocess.call("cd {}".format(location))
would work best, but that always returns
FileNotFoundError: [Errno 2] No such file or directory: '/home/user/'
because, from what I understand, a program can't use cd.

>> No.74270621

>>74270613
is there a way to achieve what I'm trying to do?

>> No.74270628

>>74270613
why don't you just do python3 path/file.py

>> No.74270631

>>74270613
cd is a shell builtin command, not a real program, so that's not going to work.
Python would have its own function for changing directory.

Also, I don't think subprocess.call splits the arguments, you you're literally trying to execute the program "cd {}".

>> No.74270638

>>74270613
Yes, read the docs. You may need an `os.chdir()` first.

If you are calling python from python you should import the module and do it properly, using subprocess to do this is fucking hideous

>> No.74270755

What should I program to make money?

>> No.74270805

>>74270765
For anyone that gives a shit, here's the product
import os
location=input("What's the file-path?\n")
program=input("What's the program?\n")
for a in range(100):
os.chdir(location)
os.system("python3 {}".format(program))


This all raises the question, why does subprocess exist? Why would I use it if os is a less complicated and seemingly more secure alternative?

>> No.74270985

can someone tell me what this would be called?

something("ABC");
//returns ["ABC", "A", "B", "C", "AB, "AC" , "CB"]

>> No.74271001

>>74270985
Power set

How do I come up with ideas for projects that aren't just little games?

>> No.74271095

>>74271001
Do difficult projects?
>compiler
>os
>raytracer

>> No.74271146

>>74271001
This is a little cliche, but think like a programmer. When you're doing shit, think of how a program could make that shit easier or better.
>Shopping
Write a program that will auto-create and print a shopping list when you input what you want to eat.
>Watching TV
Program that will record what you watch the most and suggest your favorite channels
>Deciding where you will go out
Program that will take how much you want to spend, how far you want to travel, and how much time you want to spend and tells you the top 3 suggestions.
You could also get into infosec and start with a bruteforcing script, maybe write some decoders.

>> No.74271200

is always use auto retarded?
there's no way it's not retarded

>> No.74271550

>>74271522
>Except for financial numbers I think some languages use "milliard" instead of"million", and use "million" for American "billion"...
Milliard for billion. Billion for trillion.
Million is million.

>> No.74271701
File: 61 KB, 533x445, 1573485269155.jpg [View same] [iqdb] [saucenao] [google] [report]
74271701

>>74270271
cute pic CUTE

>> No.74271707

Gonna make a game for my portfolio. Any ideas?

>> No.74271905

>>74271856
bad thread

>> No.74271946

How do I refactor my shit? I've written almost 15k SLOC riddled with crap and TODO/FIXME hoping I'll fix them someday. Thought of printing the whole code base on paper to make it easier to read.

>> No.74271967

>>74271950
I can, but it takes a lot more time navigating through that bunch of files, I guess

>> No.74272026

>>74271946
grep TODO

>> No.74272126

Redpill me hardcore on Scrum.

>> No.74272144

>>74272126
it's shit

>> No.74272289

>>74270801
Most jobs are C# ASP.NET, why tell him to kill himself when he correctly answered the question of what someone should program to make money.

>> No.74272308

>>74272221
sse start step end xs = sse' step (take end (drop start xs))
where
sse' step (x:xs) = x : sse' step (drop (step-1) xs)
sse' _ [] = []

prompt s = do
putStr s
readLn

main = mapM_ putStrLn =<<
sse <$> prompt "Start: "
<*> prompt "Step: "
<*> prompt "End: "
<*> pure results

>> No.74272381

>>74272159
Don't think in hours, think in projects.
>If I write a text editor in Python, how much would I improve?
A lot. My programming skill before and after my first project was like night and day.

>> No.74272497

>>74272491
STATE MY ANUS

>> No.74272544

>>74272532
it's the opposite of OOP

>> No.74272560

>>74272544
>bunch of methods operating on implicit state
>opposite of OOP

>> No.74272585

After using tons of languages, I realized something. Some languages force you to define your function before the main code executes. Some let you define it anywhere you want. And some change the behavior depending on where you put it.

I never hear people talk about this. I'm wondering, is there any general rule for all the different languages that can easily remind me the correct place the language requires function defining?

>> No.74272591

>>74272560
OpenGL is pure procedural
It wouldn't be such a mess if it was OOP

>> No.74272601

>>74272585
>is there any general rule for all the different languages that can easily remind me the correct place the language requires function defining?
no

>> No.74272602

>>74272585
>, is there any general rule for all the different languages that can easily remind me the correct place the language requires function defining
No

>> No.74272686
File: 92 KB, 1080x1080, abby.jpg [View same] [iqdb] [saucenao] [google] [report]
74272686

>2 week holiday vacation is over
>gotta go back to wagecuckin
it was refreshing to be so relaxed. no anxiety, stress. was eating better, losing weight, sleeping like a dog, unironically writing tons of open source code, having a blast.
gotta go back now and suck the bossman's cock. sure, i make $70k/yr but I really wish I didn't have to sell my time for tokens while the shareholders of my company reap 10x my salary each from my work. thanks der capitalismus! i think going to off myself.

>> No.74272736

>>74270465
https://pythonspot.com/python-subprocess/
import subprocess

# ["ls", "-d", location] would require explicit stdin/stderr PIPEs
# or else the output would show in program
# if non-POSIX use appropriate system commands

proc = subprocess.Popen(["test", "-d", location])
x = proc.wait()

# if directory found
if x == 0:
# ...
</wbr>

>> No.74272775

>>74272686
Start investing those 70k. You can probably flip houses with that kind of money, that's surprisingly profitable these days.

>> No.74272778

haskell is an imitation of lambda calculus
lambda calculus was invented BEFORE computers
lambda calculus was DISCOVERED, unlike other languages that are mere inventions
haskell is therefore the universal and the most powerful language

>> No.74272821

>>74272778
you mean erlang

>> No.74272860

>>74272833
>do job
>go home
>do job for free
Are you German?

>> No.74272874

>>74272860
>he thinks writing FOSS is the same thing as writing money to fuel a company

>> No.74272881

>>74272860
There's fun programming tasks
And then there's CRUD

>> No.74272898

>>74272881
isnt CRUD web apps like 90% of the job market nowadays

>> No.74273475
File: 56 KB, 1565x870, streetshitters.png [View same] [iqdb] [saucenao] [google] [report]
74273475

>>74273447
Which one of these has a resource editor ?

>> No.74273484

so if you call wait(NULL) after a child process has exited it will still return that child's pid right?

>> No.74273604

>>74273543
Tried using it for anything other than fizzbuzz Ramesh ?
>Fuck off.

>> No.74273692

>>74273652
Here you go Ramesh, it's ShitOverflow where you cut and paste code from in your projects.
>https://stackoverflow.com/questions/17102516/vs2008-resource-file-opened-in-another-editor

>> No.74273830

>>74270271
Trying to get this to work it sends Lora/Sigfox radio signals to turn shit on or off and read sensors.

Got to keep my autism bussy with something.

>> No.74273834

>>74273775
Thanks, I'll give it a try.

>> No.74273840
File: 88 KB, 900x675, B-L072Z-LRWAN1 STM32.jpg [View same] [iqdb] [saucenao] [google] [report]
74273840

>>74273830
forgot pic

>> No.74273841

>>74273786
Set values to x. printf reads it byte by byte and prints them out. Not sure where the null terminator comes.

>> No.74273887

>>74273857
no because the last numbers are 0018 so the last 4 bits should be 1010. The zero byte might be at the start of last number or somewhere in the middle or it just assumes that the compiler allocates and zeroes bigger chunk of stack than just 8 * 7.

>> No.74273917

Why do you do it? Why do you go forward? What drives you?

>> No.74273948

>>74273887
I think C stores numbers backwards (I don't know what it's called, some kind of endianness)

when I use RGB colors in my opengl code, they are usually read as 0xAABBGGRR

>> No.74273988

>>74273484
I think so, but you should check the man page, I'm sure it has this exact situation described.

>> No.74273998

>making a chess game
>tree search makes a copy of the game board per node
>makes copy at node, makes move on copy, then recurses minimax
>program exceeds 16gb RAM usage with a depth >4

why

>> No.74274002

>>74273388
bruh vs2019 is completely fine

>> No.74274014

>>74273917
hunger

>> No.74274025

>>74273998
maybe you forgot to free resources when backtracking idk

>> No.74274135

Is reverse engineering and assembly any fun? Should I try to get into it?

>> No.74274187

>>74274135
If you like screwing and toying around with things yes.

>> No.74274216

>>74273388
>>74273604
>>74273681
>>74273692
>>74273859
Just go back to /fglt/ already, ganoo+looser

>> No.74274237

>>74274135
i'd also like to know this.
been thinking of learning rev-engineering and decompiling some of my favourite games to see how they work. i don't want to be me smashing my head against a brick wall though.

>> No.74274258

which industry will be the next to adopt freedom? will we get libre cars? will we get libre buildings?

>> No.74274342

>>74270910
why do you split this into separate processes? for what reason? I dont fully understand this but arent you tripling the work?


>>74273467
elixir just seems to add several layers of complexity just for the sake of it

>> No.74274361

>>74274265
i hope it will be fun, interesting and have logical paths to figure shit out. i don't want it to be something like "keep throwing darts at memory addresses until you hit something that may be useful".

>> No.74274618

>>74274122
Thanks dude, this helped me understand it. Now I can "hide" my own message using the same method.

>> No.74274886

>>74274675
>After everyone's favorite manga site shat itself last week
Oh fuck, mangadex finally bit the dust? I haven’t read anything in a few months so I didn’t even notice.

>> No.74274888

Hello. I have QVector <QVector <QPushButton * >>, buttons are created dynamically. How to display the position of a button in a vector when i click on button?

>> No.74274980

>>74274675
>I suddenly had the thought that there could be a website with an account system that doesn't store the user's password at all.
> it could be done using asymmetric keys.
I would not be surprised at all if such a standard already exists in an ITU-T document. The number of standards they’ve cooked up related to decentralization and identity over the years that nobody uses is impressive.

So here’s the problem I envision with your premise: You’re talking about loss of personal information. A login/pass pair on the server is about as nonpersonal as you can get. In order to use keypairs to authenticate, the service would need to maintain a record of the public key of the account owner (whether or not that’s anonymous) in order to verify between sessions and computers who a particular end user is trying to auth as. You need to keep some data, that is, just to have accounts in the first place. And this often has to be “personal data” in a legal sense.

But in any event, the biggest culprit for unmasking accounts is going to be the account holder himself (whether through his admissions on other media, or through his revelation of personal details through a social media aspect of the secured service, like forum posts or a profile) rather than leaking logins and passwords or backend details.

I mean, if the concern deals with trying to keep legal process from unmasking an uploader when the service itself is seized, this would do absolutely nothing unless the account holder is practicing immaculate infosec, and someone that savvy is not going to be reusing logins, passwords, etc.

>> No.74275161

>>74275107
g++ is gcc

>> No.74275430
File: 9 KB, 300x253, main-qimg-82d5803bdf6b69fb9a754c848e849852.gif [View same] [iqdb] [saucenao] [google] [report]
74275430

Is it possible for a checked keygen to still be hiding harmful code in it?
I double checked it, it says it's clean.

>> No.74275632
File: 140 KB, 450x399, 1578321054681.jpg [View same] [iqdb] [saucenao] [google] [report]
74275632

Java is the most powerful programming language.

>> No.74275648

>>74275632
i can't believe India has access to Weapons of Mass Durgasoft

>> No.74275667
File: 12 KB, 510x546, 1313181346414.png [View same] [iqdb] [saucenao] [google] [report]
74275667

It's 2020 and I've decided to expand my programming skills and venture outside of my comfort zone. I've been a C and C++ guy for over 20 years. But I want more now.

I've decided to try learning Lisp, or some of it's derivatives. But I don't know which one. There's Common Lisp, there's Scheme, and Clojure, and who knows what else. I'm lost and don't know where to start.

Show me the path to enlightenment, /g/. I don't know how far I will walk on it, but I'll try.

>> No.74275692

>>74275667
Common Lisp is the most featureful Lisp.
Scheme is the purest and most elegant Lisp.
Clojure is the most practical Lisp (since it runs on JVM and has access to a shitton of libraries).

>> No.74275935

>>74273467
>new thing bad
(":[`]@.(*@#@])Fizz`Buzz;@#~0=3 5&|)"0>:i.100

>> No.74276048
File: 78 KB, 544x1281, Screenshot_20200106_204323.png [View same] [iqdb] [saucenao] [google] [report]
74276048

Rust is perfectly readable.

>> No.74276160

>>74276048
Ruby trap
Rust tranny

>> No.74276635
File: 214 KB, 1066x805, u6n5h.jpg [View same] [iqdb] [saucenao] [google] [report]
74276635

Started my first software engineering job today and it was exhausting. Hope it becomes easier and I don't get fired desu

>> No.74276652

>>74276635
i later start this week, same hopes as you anon

>> No.74276656

>>74276652
*start later this week
i ctrl+left-d one too many times

>> No.74276855
File: 111 KB, 1378x775, pdp-11.jpg [View same] [iqdb] [saucenao] [google] [report]
74276855

>>74276699
It is technically still a thing if you want to be C89 standards compliant. C99 made it 31 characters for extern symbols. Guess which implementation is behind the 6 character limit?

>> No.74276913

>>74276795
There are decent paying jobs in the Baltics, if you are good and somewhat lucky.
t. Latvia; 32k €

>> No.74276966

>>74276855
does anybody even care about Microsoft C support?
You have mingv and gcc for windows or you could use pelle's C.
I think even tcc compiler and musl clib support windows also.

>> No.74276984

>>74276960
It's basically completely useless without downcasting, a popular anti-feature that breaks OOP.

>> No.74276988

>>74276699
as far as I can tell that's still in C90 and was upped to 63/31 in C99 where it seems to have remained since

>> No.74276991

>>74276741
>>74276760
I usually post there, but I figured I'd get some input here.

Hilarious that ppl in this thread shit on webdev as if the majority of interfaces don't happen in a web browser these days.

>> No.74277139

>>74277094
Sure you would. The set of keys in a hash table is easily implemented with a hash set, which again uses only hashing and equality testing. I'm not talking about the standard Java interfaces and classes, which are generic over the key class to allow things like ordered sets and maps which require comparison.

>> No.74277161
File: 56 KB, 400x400, 1576915279807.jpg [View same] [iqdb] [saucenao] [google] [report]
74277161

>>74276855
Ah, wonderful.
I would like to be standards compliant, but I would neglect (aspects of) C89 in favor of C99 just as I neglect F77 aspects in favor of F95.
I think that's a good approach.

>> No.74277193

>>74276988
That's a perfectly reasonable limit.
>63/31
Oh god is it a 32/64 bit thing?

>> No.74277201

>>74277139
>The set of keys in a hash table is easily implemented with a hash set, which again uses only hashing and equality testing
if you retrieve the keys as a hash set of objects, you still can't perform all the operations on the set of keys that you'd like to perform, for instance iterating over the set (without order-guarantees) or sorting the elements into a list of keys.
you'd have a really shitty and incomplete API.

>> No.74277251

redpill me on the benefits of switching to arch for development after 12 years of using windows.

>> No.74277338

>>74277251
Why do you switch? New job?

>> No.74277420

Is having multiple returns in a main loop a bad idea? I never thought much of it before, always just done "return 1" when an error happened, but uni spergs spazzed over it without much explanation of why its bad.

>> No.74277423

>>74277251
it's hard to explain if you never used linux before, feels like trying to explain what the outside of the cave looks like to the people chained inside

the system gives you total control over everything, you can customize, change, replace, automate anything in the system. for C/C++, the system itself feels like what would be an IDE on windows. but it might take a few years to fully appreciate it

>> No.74277424

>>74277396
For a static image viewer, you only want to redraw when you change the image or when the OS tells you to. In particular, redrawing when you don't need to wastes energy, which is bad for battery powered devices.

>> No.74277504
File: 11 KB, 478x274, optimization.png [View same] [iqdb] [saucenao] [google] [report]
74277504

Which of these should I be using?

>> No.74277624

Looking for an open-source license which protects my software from exploitative use for commercial gain by others. What options are there? I see there's one called the Peer production licence and also the Creative Commons NonCommercial ShareAlike. Any others?

>> No.74277714

>>74277624
GPLv3 to be exact. The FSF keeps an eye on corporate memery and you are free to upgrade your license to any future improved version of it in case fags come up with more shit.

>> No.74277771

>>74277193
If you're going to pick some more or less arbitrary number I guess it might as well be a power of two (including the null terminator). I can't think of a reason why it would have anything to do with the register width of the CPU. Having powers of two could maybe simplify the object file format or something.

>> No.74277889

>>74277792
The primary reason people like torvalds are against v3 *is* that it tries it's best to punish such behavior.
Recommended reading:
https://www.gnu.org/licenses/license-recommendations.html
A more complete list:
https://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses

You don't have to read all this shit, you'll find the important info by skimmin mostly

>> No.74277903

I think I understand basically what is a monad, but what are the advantages of using monads? what makes them different from basic unboxed values?

>> No.74277947

>>74277792
>>74277889
Also, depending on your local jurisdiction, you may be in particular luck. While law is understood to be "by the letter" in english speaking countries usually (US/UK), there are several countries where law is interpreted "as a person with common sense would understand it". In Germany, for example, you cannot make arbitrary binding contracts in the sense that it just becomes void if it tries to fuck you over (given some legal parameters). Similarly, a contract is interpreted with what the agreeing parties had in mind when forming the contract, so no wordplay shittery.

>> No.74277965

From yesterday, defining std::pair hash function for std::unordered_map.
struct HashPair {
template<typename T, typename U>
std::size_t operator()(const std::pair<T, U> pair) const noexcept
{ ... }
};
std::unordered_map<std::pair<std::optional<std::string>, std::optional<std::string>>, configuration_v, HashPair>

What I don't understand is how do std::pair member types (both which are std::optional<std::string>) get passed as T and U to HashPair. Just how?

>> No.74277975
File: 35 KB, 591x670, functionalprogramming.jpg [View same] [iqdb] [saucenao] [google] [report]
74277975

I think I've just been redpilled on OO. Java, C#, C++, et cetera re not OO languages. Only langs like Smalltalk, Ruby, and (possibly) Lisp can be true OO languages. MVC, ORM, IOC, and other pajeet shit is not proper or pure OO at all. They're garbage solutions to common data problems. I think calling OOP a pajeet mess is an untrue prejorative. Pajeets don't produce actual OO, they produce a complete MUTT mess of imperative and procedural code while completely abusing OO practices.

Can we stop shitting on OO now? It's like calling functional programming "pajeet tier" when some indian shits pic related out.

>> No.74278026

>>74277998
It is naming and the structure of your program

>> No.74278036

>>74277975
>Only langs like Smalltalk, Ruby, and (possibly) Lisp can be true OO languages
You're needlessly being autistic about a definition. The smalltalk model is most similar to the Erlang concurrency model. If you want to call that oop that's fine, but I don't see why you think you've stumbled across nirvana just because you came up with an older definition.
As far as models go I think the actor model is fine, but I don't see why you would want to use it over pure functions if you can avoid it (i.e not doing concurrency).

But this is also something I hate about oop-tards. They always do this retarded no true scotsman thing, change some definition, and it makes it impossible to discuss the paradigm.

>> No.74278037

>>74277965
Afaik: The map instantiates the HashPair and calls it's operator() on a pair of known type. The compiler sees that operator() is a template and figures out the types for T and U from the argument that the map passes to the operator().

>> No.74278075

>>74277975
I never programmed in smalltalk, but I think you're at least partially right. well written OOP is the only sane way to create certain types of programs, like games (ECS shitters need not reply).

I think, more important than paradigms, is "what is the size of the team working on this?". a small team of good programmers that communicate actively with each other will inevitably produce better code than a team of 500 mediocre corporate programmers.

the way big business software is written leads to things like TDD, devops, agile (I don't even know what that is to be honest), the abuse of OOP constructs, etc.

>> No.74278093

>>74278036
>But this is also something I hate about oop-tards. They always do this retarded no true scotsman thing, change some definition, and it makes it impossible to discuss the paradigm.
You have this in FP too. Look at Haskell friends. They constantly complain about what is and isn't pure FP. The problem is that this conversation hasn't gotten out of hand unlike OO programming. Every popular language claims to support OO and so you get a lot of bad programmers writing a lot of bad code and claiming its OO. If Indians needed to learn FP to get a job at IBM or Spring or whatever, they'd shit out some really disgusting code filled with side effects and mutability and the tables would be turned.

>> No.74278102

>>74278037
Thanks.

>> No.74278115

>>74270271
>What are you working on
A function for counting the number of rows in a text file, skipping the empty rows. It simply considers all text rows with a length of less than 4 to be "empty".
! Counting the number of rows in a text file
integer function File_CountRows(file_name)
implicit none
character (len=MAX_FILENAME_LENGTH), intent(in) :: file_name

integer :: num_rows
logical :: row_valid
character (len=MAX_ROW_LENGTH) :: tmp_buf
integer :: io_status
integer :: num_chars
type(datafile_t) :: data_file
logical :: success_flag

>> No.74278143

C is everything

>> No.74278144

>>74278093
>They constantly complain about what is and isn't pure FP.
Do they? It seems to me that it's fairly clear to people what is and what isn't pure functional programming. Most languages don't go all out Haskell of course, but there's still an agreement of what the terms actually mean. There is a theoretical basis for these languages that people agree on, and we can use that to discuss things.

But I do agree with you on some parts. Since mass-produced programmers usually don't know FP, the people who discuss it tend to be of higher skill. If there was only FP in the world, something that even the worst programmers knew, we might see some pretty ridiculous discussion related to it.

>> No.74278150

>>74278115
>File_CountRows
I don't know what that retarded naming convention is even called but it's ugly as hell and you are massive fag for using it.

>> No.74278195

>>74278143
The reason C is so great for building compilers and interpreters is that it inspires the developer to quickly and efficiently implement new languages in the hope that one day one of them lets them get rid of C.

>> No.74278209

>>74278181
>suggestions
PascalCase
camelCase
snake_case
^ pick one of these. Don't use capitals and _ together unless you're Ada and don't care about inflicting RSI on your users

>> No.74278221

>>74278209
kebab-case best case

>> No.74278248

>>74278144
>It seems to me that it's fairly clear to people what is and what isn't pure functional programming.
My understanding is that a clear definition of functional programming is like trying to get a clear definition of what a "game" is. (I'm referring to the concept of Family Resemblance: https://en.wikipedia.org/wiki/Family_resemblance).

Anyways, point is that I think it's kind of unfair to throw OO under the bus because pajeets write shit code. It's not OO's fault that pajeets write shit code. You can write shit code that violates practices of any paradigm if you allow street shitters to write applications in impure languages.

>> No.74278291

>>74278216
Ceethe harder. You can't shit on fortran.

>> No.74278297

>>74278181
I never would have guessed, the only thing that looked like fortran to me was the dots around the .and.
granted I haven't seen a lot of fortran, and when I did it was always in an old version.

>> No.74278305

>>74278209
All right, that makes sense. I will fix this problem in my code, much appreciated. Do you think it would be okay to use PascalCase for all procedure names and snake_case for all variable names? I already use snake_case for data type names.

>>74278224
Take your time

>> No.74278323

>>74278115
In J this is just
lines_longer_than =: [: +/ ] < [: #@>@cutLF [: 1!:1 <@[
1!:1 < 'test.txt'
this is
a
test
The quick
brown fox
jumped
over the lazy dog

'test.txt' lines_longer_than 4
5
'test.txt' lines_longer_than 7

>> No.74278452

>>74278440
or this: https://www.fortran90.org/src/best-practices.html

>> No.74278489

>>74278408
>When I write a project in an oop style I feel like I quickly lose control over what's going on, things become a mess, and hard to navigate
thats because of your lack of understanding, stop blaming other people

>> No.74278494

>>74277903
You can think of most languages as using a fixed monad. Typically, just exceptions and state. If you can choose the monad, and the language has monad syntax, you can implement all kinds of things that are normally language features yourself.
>async/await
>non-determinism and backtracking (like Prolog)
>safe memory management
As well as things you rarely or never see as language features.
>distributed concurrency
>embedded scripts, shaders, etc.
From a pure functional programming standpoint, monads are the key to having features like lazy evaluation and list fusion while also supporting side effects. Even without side effects, monads are a great tool for making code simpler and more reusable.

>> No.74278580

>>74278452
I know that site.
Maintained by some literal who and dressed up the page to look like python docs. Maintains a fortran implementation wikipedia doesn't even feature.
Cute, sure, but might as well not exist.
>>74278440
where did dig that up?

>> No.74278776
File: 124 KB, 1062x388, pharo.png [View same] [iqdb] [saucenao] [google] [report]
74278776

>>74277975
You are broadly correct. Java and the like are not OO languages in a reasonable sense.

The programming language Simula-67 was one of the first to support abstract data types, while Alan Kay saw it and realised the potential in a much purer concept - objects rather than abstract datatypes.

Bjarne Stoursoup added the features from Simula and Algol 68 to C to create C++. This is what other "object oriented" languages copied.

In SmallTalk you have a system that looks much more like Lisp. In fact, early versions of Smalltalk even had an eval-apply loop that looked like that of Lisp. Later Smalltalks changed approach slightly, but you find in Smalltalk the same kind of power that Lisp offers.

Lisp is sufficiently powerful as to allow for similar things, so I would regard it as a language in which you *can* write object-oriented code. Something that isn't true of C++ or Java.

>> No.74278860

>>74278095
Why do you retarded shit like newlining the types in your Options and inline macro definitions within other functions?
Or shit like using Some() as a code block instead of defining the content as variables ad then just returning Some(foo)?
Not sure if trolling, but I like how you chain iterators, that's good stuff.

>> No.74278955

>>74278822
I literally know nothing, I just googled right now so I defer to you.

>> No.74279066

>>74278955
oh, sorry for the confusion, I wasn't the one asking the original question. I just chimed in to explain that canonical practices are finicky in fortran, cause it's unusual in that regard from a modern perspective

>> No.74279067

>>74277488
>installing packages
use linux
>compiling
use a super computer/ don't use C++

>>
Name (leave empty)
Comment (leave empty)
Name
E-mail
Subject
Comment
Password [?]Password used for file deletion.
reCAPTCHA
Action