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

/dpt/ - Daily Programming Thread

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

Thread replies: 324
Thread images: 31

File: teach_me_cpp_senpai.jpg (155KB, 1440x810px) Image search: [Google]
teach_me_cpp_senpai.jpg
155KB, 1440x810px
Functional programming is the future edition.

Previous thread: >>62088982

What are you working on /g/?
>>
C++ with proper UFCS and Modules when?
>>
>>62094155
Second for C++ is the worst language that anybody has ever taken seriously.
>>
>>62094155
>Functional programming is the future
>posts anime girl with C++
what's the trick?
>>
>>62094166
Already out
>D
>Rust
>>
>>62094166
literally never.
It already fucked UFCS, and proper modules would pretty much take an entire re-write because you'd HAVE TO break .h,.c,.hpp, and only have .cpp or else theres no point.
>>
>>62094191
Fuck
>>
>>62094178
>he isn't aware of PL/1
>>
>>62094166
>Modules
meme
>>
trueskill rankings of danbooru tags using multiplayers rankings,
tags are scraped from danbooru and stored in the image as metadata
tag rankings stored in file

now just needs a gui and thread safety on the scraping part
or the scraping can just be single threaded but i really dont like that
>>
File: 1502236902222.png (32KB, 292x154px) Image search: [Google]
1502236902222.png
32KB, 292x154px
>>62094185
I like Rust but I am interested in GUI. Qt Quick is the only sane choice left.

>>62094205
Enjoy manually writing hundreds of header files and maintaining them with the function prototypes.
And enjoy fundamentally slow build system
>>
File: 1502820322331.png (6KB, 321x321px) Image search: [Google]
1502820322331.png
6KB, 321x321px
>>62094205
#ifndef shit
#define shit

struct foo {
int member;
};
#endif /* shit */
#ifndef shit
#define shit

struct foo {
int member;
};
#endif /* shit */
#ifndef shit
#define shit

struct foo {
int member;
};

#endif /* shit */
#ifndef shit
#define shit

struct foo {
int member;
};

#endif /* shit */
#ifndef shit
#define shit

struct foo {
int member;
};

#endif /* shit */
#ifndef shit
#define shit

struct foo {
int member;
};

#endif /* shit */
#ifndef shit
#define shit

struct foo {
int member;
};

#endif /* shit */
>>
>>62094155
>edition
How can you fuck up a thread so bad? It's not that fucking hard.
>>
>>62094222
Your picture is a good illustration of your post.
>>
>>62094185
Can D really be considered to be a C++-like language? I hear its optional GC isn't really optional, because of that I'd be tempted to say it's closer to go than anything else.
>>
>>62094247
>Can D really be considered to be a C++-like language
Yes.
>>
>>62094247
Its everything C++ should have been except the GC.
You could use Better C with std.algorithm for functional stuff in am improved C environment.

Other than that the GC is very nice due to the explicit control you have.
>>
>>62094140
>>62094199
Those are things that do not require a v2, only a future v1.x.
2.0 in SemVer implies backwards incompatible changes to 1.x.
>>
>>62094247
>D really be considered to be a C++-like language?
Absolutely
>I hear its optional GC isn't really optional
Nope, you won't be getting away from the GC if you use other 3rd party libraries

All in all, D is a very well designed C++ if you don't consider the GC.
Not him tho
>>
>>62094247
It's a sane C++, only real downside is GC.

t. Rust shill
>>
>>62094261
I want Rust to ease up on its safety ritual. It's counter productive.
>>
>>62094268
The only reason to use it is because it won't ease up on safety. Why not use C++/D if you don't want the compiler to break your balls about detail?
>>
>>62094268
If you won't make people to do stupid shit for clever things, your language won't be safe.
>>
>>62094264
what about the gc?
is it worth writing an entire program without garbage collection in D?
>>
>>62094284
>Why not use C++
I am using it currently. Because of Qt. I don't like C++. Everything about C++ feels like "hacked together"
>D
Waiting for Calypso to be more mature
https://wiki.dlang.org/Calypso

>>62094296
Actually you can use D as a better C (-betterC) BUT you will lose a lot of D's niceties (GC abstractions etc)

And if you are going to use things like Vibe.d, gtkD etc you probably be needing GC anyway
>>
>WebKitGTK+
Takes 7 minutes to compile in a 32 core processor
HEADER FILESSSS
>>
File: pathetic.jpg (24KB, 680x419px) Image search: [Google]
pathetic.jpg
24KB, 680x419px
>this is the only non-meme fp lang
http://islisp.info/
>>
>>62094308
>Calypso
but why, its counter intuitive to D.
>>
>>62094341
>lisp
>Object-oriented
>non-meme
???
>>
>>62094360
It's the only fp lang with an ISO standard.

https://en.wikipedia.org/wiki/Category:Programming_languages_with_an_ISO_standard
>>
>>62094203
PL/1 didn't set programming back 15 years, though.
>>
>>62094365
Why is having an ISO standard worth anything?
C++ is the prime counter-example.
>>
>>62094247
D is too slow due to shitty GC implementation.
>>
>>62094386
C++ is used to produce cross-platform performance and safety critical applications scaling hundreds of thousands of lines of code and used by millions of people every day.

FP languages are used to print hello worlds and do fizz buzz for geek cred.
>>
Learning Scala.
>>
any good introduction for maven? yes im a pajeet, fuck off
>>
>>62094413
t. pajeet
>>
>>62094407
>and do fizz buzz for geek cred.
FP literally beat C+++ in the 90's on a government project.
>>
>>62094413
>tfw no female Pajeet to write Java with
>>
>>62094407
This has nothing to do with what >>62094386 was saying though. He was talking about ISO being seen as a proof of quality in design and said C++ was a counter-example because, and that's true, C++ is features piled on stock of features.
>>
It just occurred to me, are all programming languages besides C/C++ statically compiled?
>>
>>62094511
when you say "statically compiled" do you mean statically linked?
>>
>>62094590
I think so.
>>
>>62094434
ISO standard means that the language is/was so widely-deployed that multiple implementations have spawned that required standardization to avoid fragmentation. ISO standard provides you with a strong everlasting time-tested backbone, so in case you want to port your hard work to a new architecture or make just make a different implementation for some other reason such as performance, you always have a centralized, respectable organization's work to base your new language implementation off. ISO standards have already been tested by multiple implementations, and many if not all ambiguities have been ironed out, while other non-ISO/ANSI/IEC "standards" are more of a reference to a programmer.

Quality in design, purity, and all other language features are a COMMODITY to make software cheaper by requiring less time and effort to a) teach the programmer or b) maintain the program. However, when talking about huge distributed applications, stability and determinism is the absolute priority.

Yes, C++ is huge because it was created in an evolving and ad hoc manner, thus adding many unnecessary, overlapping, non-finished and could've-been-done-better features, and many brainlets such as yourself can't fit it inside their hands, so there is high demand for dumbed-down C++ like Go, Rust, and D, but until they're standardized they're all meme-tier.

So there are 4 options for production:
1) Use a standardized small language (C)
2) Use a standardized big language (C++) and hope that developer costs offset the project maintaining costs
3) Use a corp-backed language and rely on the corp (C# for MS, Java for MS, Go and Kotlin for Google, Objective-C and Swift for Apple) to carry it's maintaining, and with that corp all your work will go down the shitters
4) Use a meme-language and be happy that your code works on this particular implementation, on this particular machine
>>
>>62094600
*maintaining costs will offset developer costs
*Java for Oracle
>>
>>62094600
>seriously arguing on /dpt/
Sorry you're on the wrong website
>>
>>62094600
5) Use a language developed by a community that uses a sane way to extend its language. See how Rust does it.
>>
>>62094600
>java
>ms

>kotlin
>google
>>
>>62094623
>Rust
>sane
...
>>
Fact: OCaml programmers are the most powerful race in the world.
>>
>>62094623
Rust falls into the meme-tier category, anon. Good for small scripts on x64.

>>62094635
However, imperative programmers will outbreed them and impregnated their daughters.
>>
>>62094635
>no native multithreading
>no unsigned type
>basic values are boxed
Ocaml programmers are the special education kids of the class.
>>
http://www.atnnn.com/p/operator-larrow/

why dont you use the left arror operator
>>
>>62094647
t. imperative toddler
>>
>>62094649
>http://www.atnnn.com/p/operator-larrow/
Arrow operators were mistake.
>>
>>62094646
Even if it's a meme its development process is still pretty good. Also it supports ARM64, ARMv7, Sparc, MIPS, PowerPC, wasm and others.
>>
  cuboid<6, 6, 3>(o-------------o
|L \
| L \
| L \
| o-------------o
| ! !
! ! !
o | !
L | !
L | !
L| !
o-------------o );

>not using a visual representation for your multi-dimensional arrays
>>
>>62094672
>supports
Please help Debian Rust maintainers
http://lists.alioth.debian.org/pipermail/pkg-rust-maintainers/Week-of-Mon-20161226/000758.html

Also, strong community gives birth to an ISO standard.
>>
>supporting anything that supports systemd
dropped
>>
>>62094691
Woah, This really shouldn't happen, all the archs I mentioned are "guaranteed to build" by the rust project.
They probably don't have access to servers with the right arch to put their CI bots on, or maybe they tried adding some and it made their (already awfully slow) CI even slower. This is an interesting issue, I'll look into it.
>>
What is declarative programming and why no one ever talks about it?
>>
How do i create an api?
Let's say i have some closer source project that generates some exe that does shit, how do i provide a programmer api to interface with the compiled project?
>>
>>62094792
SQL is declarative programming, and it gets used a little.
>>
>>62094264
what libraries even exist for D?
Surely you can just include C and C++ libraries
>>
>the pythonic way of doing something to every value in a list except the last value where you have to do something different
very nice
>>
>>62094857
for elem in lst[:-1]:
doSomething(elem)
doSomethingDifferent(lst[-1])


I love Python.
>>
>>62094896
Or this, objectively worse, solution:

map(doSomething, lst[:-1])
doSomethingDifferent(lst[:-1])


I'm really sad they decided to embed these useless, redundant functions. They're like Perl shitted into Python.
>>
auto isLeap(unsigned int y) -> bool {
return y % 4 ? false : (y % 100 ? true : !(y % 400));
}
>>
File: 1501743580657.jpg (31KB, 400x400px) Image search: [Google]
1501743580657.jpg
31KB, 400x400px
>>62094635
>>
>>62094801
describe the functions and then provide them with the library which contains the functions
>>
>>62094941
>auto -> bool
>>
>>62094966
Think of this ``auto`` as ``fn``, not ``bool``
>>
>>62094971
auto means auto, not fn.
>>
>>62094941
why not just
auto isLeap(unsigned int y) { 
return y % 4 ? false : (y % 100 ? true : !(y % 400));
}

the return type can be deduced.
>>
>>62095007
How the fuck are you supposed to write a declaration for that?
>>
>>62094995
auto can mean fn too
>>
>>62095016
you can't, it must have an (inline) definition
(I was also joking, that style is pure cancer outside of templates or member methods / local types where context can be obvious)
>>
what socks do you wear when you program in tranny-tolerant language like Haskell?
>>
>>62095016
also, no shit. byuu has switched most of higan and his personal libraries over to the auto foo() -> bar style. ugh.
and even though he compiles with c++14, he uses auto foo() -> void a lot.
example: https://gitlab.com/higan/higan/blob/master/hiro/qt/window.cpp#L54
I guess he wants to be consistent .. but its longer that way, than doing the normal void foo(); (or struct T { auto foo(); } and auto T::foo();)
(higan is a rather nice multi-system emulator)
>>
>>62095179
so this is the power of autism
>>
>>62095179
C++ is slowly moving away from C. It's turning out to be two different languages hosted by the same compiler
>>
>>62095350
>same compiler
C++ and C split in 1999/2000. C++11 went even further to move away from old-style C++

(auto name() -> ret was added in C++11, along with a metric fuckton of things to make the language actually usable)
>>
>>62095350
C++11 already made that change.
>>
File: Screenshot_2017-08-25_20-30-06.png (44KB, 1282x745px) Image search: [Google]
Screenshot_2017-08-25_20-30-06.png
44KB, 1282x745px
https://youtu.be/jLVLDLMvClY

https://bela.itch.io/blob

Try out my digital deep sea vent microbe aquarium! I wrote the physics engine, over 20k collisions calculated under 20ms!
>>
>>62095366
auto style is fine, but auto foo() -> ret is only worth it if you have a scoped return type.
>>
>>62095016
bool isLeap(unsigned int y);

And then define the function with the same prototype like a neurotypical human being that doesn't latch onto redundancies to look smart.
>>
Anyone got the link to that free Learning Python book?
>>
>>62095412
so comfy :3
>>
>>62095370
>>62095366
You can write most of C in g++
>>
>>62095471
You can, but that's no longer idiomatic.
>>
File: blob_2016_12_16_17_31.webm (1012KB, 512x300px) Image search: [Google]
blob_2016_12_16_17_31.webm
1012KB, 512x300px
>>62095455
Thank you.
>>
>>62095471
int *i = malloc(sizeof(*i));

no you can't you dumb fuck.
>>
>>62095486
Can you learn something from this about how those deep sea microbes behave?
Like dunno, that they tend to cluster to sources of food as in the webm?
>>
>>62095488
Are you unable to read? Or is it that English is not your primary language?
>>
>>62095514
>implying most of C isn't just mallocing pointers
t. somebody who has never written more than fizzbuzz
>>
>>62095519
>C isn't just mallocing pointers
No it isn't.
>>
>>62095519
>Implying most if C is malloc'ing a single int
>>
>>62095533
I said allocating pointers retard, I said nothing about allocating single int retard.
>>
>>62095443
pls help
>>
>>62095488
remind me why I shouldn't cast malloc again
>>
>>62095568
You can't find a book of one of the most popular language?
Damn
>>
>>62095580
to keep retards who want to use sepples away.
>>
>>62095580
It's completely pointless.
>>
>>62095519
Malloc shouldn't be a major part of your program.
>>
>>62095583
Hard to find a book when you don't know it's name, author or anything
Just remember seeing some free book being recommend here frequently for Python.
>>
>>62094678
Now that's something I haven't seen for like half a decade
>>
>>62094308
please elaborate on the matter of "hacked together"
>>
>>62094940
why?
>>
>>62095713
Every update of standard is meant to fix the previous one that's how
>>
>>62095412
mind sharing code?
>>
File: 1501289115919.png (215KB, 490x516px) Image search: [Google]
1501289115919.png
215KB, 490x516px
HELP! Is there an online SQL practice site, like writing queries that give actual results from a practice db, instead of multiple choice quizzes? I found only one, but it has only couple of questions. I need something beginners to intermediate level, I'm preparing for an interview and want to practice.
>>
>>62095748
example?
>>
>>62095836
Q: Why are you supposed to use {} initialization now?
A: because initialization with () was broken
>>
>>62095824
https://codefights.com/arcade/db
>>
>>62095902
thanks. I've used stanford's SQL course, but I solved almost all quizzes

>https://lagunita.stanford.edu/courses/DB/2014/SelfPaced/about
>>
>>62095824
Honestly I would just run SQLite. If you're on windows, try SQL Notebook. Though it may be worth running the specific DBMS the interview is for, since SQL syntax and commands differs very slightly between implementation.
>>
why can't there be a language which is like C++ but good
>>
>>62095944
I have SQLite as a browser extension to firefox, and I use it to practice. But I was hoping for online questions. I practiced this >>62095923
and using question from:

>http://www.programmerinterview.com/

But I don't wont to practice same stuff again and again.
>>
File: 1483889196784.jpg (117KB, 915x720px) Image search: [Google]
1483889196784.jpg
117KB, 915x720px
How to make money with programming without working for Mr. Goldstein?
>>
>>62095961
D
>>
>>62095740
they're slower than loops or something, I think. I know that they're definitely slower than list comprehensions
>>
>>62096042
give blowjobs in rainbow socks and panties.
>>
>>62096106
>map
>slower that for loops
You wot m8? Doesn't using map make it easier to do vectorisation compared to for loops?
>>
>>62095179
byuu has legitimate, non-meme autism. I wish I was on my main machine because I have some screencaps from his forums showing how autistic he actually is so you'll just have to take my word for it, but my point is if byuu does something that doesn't mean you should
>>
Okay so how does this work?
I have main program that watches for directory and loads shared libraries in them using SDL's functions SDL_LoadObject. If they change it will reload them.
The main program calls function fn from every library, it just prints some text.
There's lib1, lib2 and lib3. lib3 is dynamically linked to lib2 and calls one externed function from it in the fn function.
If it reloads lib1, or lib3 the printing is different as it should be.
If it reloads lib2 the fn of lib2 will still print the old stuff, also the function that lib3 calls from lib2 stays the same even though it has been changed.

If I changed from SDL's functions to using dlload and dlsym could I somehow make it so that when lib2 is recompiled and reloaded the called fn would actually change?
Would it change anything if I unloaded lib3 and then unloaded lib2. Then I would load them again?
>>
File: 15006286503.jpg (163KB, 1024x768px) Image search: [Google]
15006286503.jpg
163KB, 1024x768px
PROGRAMMING CHALLENGE

Make a £sd calculator. It must be able to add, subtract in £sd, multiply and divide by decimal fractions. Lowest coin is farting.
>>
>>62096142
apparently map and other functional memes are implemented in plain python and list comprehensions are an optimized c function behind all the syntax
>>
>>62096169
>Lowest coin is farting.

Might as well rename it pooing since you've got all those Pakis everywhere.
>>
>>62096194
that probably sounded funnier in your head
>>
>>62094155
What show is this?
>>
>>62096401
Neon Genesis Evangelion
>>
>>62096401
jojo's bizzare adventure
>>
>>62096401
Boku no Game
>>
>>62096042
Smartphone app dev
Webdev
It sec
All of these can be done in solo
>>
>>62096401
New Game!!
EP#3 00:13:16

whatanime.ga
>>
>>62096154
Got it working, had to just reload everything and load them back.
>>
>>62096476
Thanks :)
>>
Reading Pro.NET performance book so i stop writing Pajeet tier code at work which uses billion megabytes of RAM and 100% of CPU

It's easy with C or C++ when you see everything from beginning, but in managed languages i have to dive deeper and read specialized books.
>>
>>62094155
Where are the cutie programmers???

;)
>>
>>62094296
The idiomatic way would be to write your program with the GC in mind and if you notice a slowdown caused by the GC, profile to find the exact spot and temporarily deactivate the GC in that area.

At this point completely ditching the GC is nearly impossible because even nogc stuff like smart pointers depend on it. Even struct destructors currently have a soft dependency on the GC, which makes it impossible to do RAII even in -betterC, but that is subject to change in the near future.
>>
How does RAII in C++ work? Does it have performance impact like GC does? How does shared_ptr count references in real time when objects are created all over program?
>>
>>62096561

>It's easy with C or C++ when you see everything from beginning, but in managed languages i have to dive deeper and read specialized books.

why would this be true? when im codi ng c/c++ im always afraid of leaving something out or forgetting something
in java i just write shit down and until im not doing something like O(n^n) its pretty good.
>>
>>62096561
resources is meme
you can always buy our partners brand new hardwares to run our softwares :^)
>>
i already know how to program simple c/c++ projects, but i mainly compile them all manually

tutorial to advancing further? mainly in using make or cmake or whatever
>>
>>62096564
Are you a slim effeminate coder?
>>
>>62096618

I'm working at this company for 2 months, they gave me some large project which i should maintain. It takes some reports from database and draws nice graphs in front-end. Guess what?

It takes almost 10-12 seconds for data to be taken and loaded by Javascript in front-end and drawn in graph.

Even though those retards coded relation with database using ADO.NET and raw SQL queries instead of LINQ, they still managed to fuck up somewhere so badly that i can't even debug this application properly because of its load times. Fucking hell.

This is what happens when Pajeets who have no clue of what they are doing code large projects. Not to mention how horrible code itself is.

And those people laughed at me when i told them my most loved language is C and i'm coming from it. Apparently for Pajeets its (((deprecated and old garbage)))
>>
>>62096648
I'm looking for another cute feminine girly programmer to engage in lesbian sexual relations
>>
>>62096700
what a coincidence, im looking for a pretty feminine coder with thick thighs and ass.
>>
>>62096452
>Webdev
You still need to work for someone else if you want to make a significant amount of money from that.

>It sec
Good but not reliable in the long term.

>app dev
The best option from those you listed but good luck getting people to care about your app.
>>
>>62096700
>>62096735
>>>/soc/
>>
>>62096634
You should use this: https://github.com/jimporter/bfg9000

and have it generate ninja files for you. Here's a simple example:
https://github.com/jimporter/bfg9000/blob/master/examples/06_find_files/build.bfg
>>
how can i figure out what i can do without violating this patent?

am i allowed to generate the dither pattern in software?

am i allowed to load a sequence of numbers which matches the dither pattern which would have been generated using this method?

http://www.freepatentsonline.com/5535020.html
>>
File: 1493952892482.png (98KB, 179x214px) Image search: [Google]
1493952892482.png
98KB, 179x214px
>>62094241
Rust doesn't have this problem
>>
>>62096863
Make your program closed source
>>
>>62096060
has GC and isn't practical to use without
>>
>>62095961
Give me a technical reason why Rust isn't a good CPP replacement. "SJW" isn't a technical reason.
>>
>>62096980
what if they figure out which algorithm i'm using by looking at the pattern of the output and/or by reverse engineering the program. could be as simple as looking through the memory for some specific patterns
>>
>>62096603
>How does RAII in C++ work?
Use scope to manage all resource acquisitions and releases.
>Does it have performance impact like GC does?
unique_ptr should have zero overhead, but check your disassem to be sure. shared_ptr obviously does does not.
>How does shared_ptr count references in real time when objects are created all over program?
A shared_ptr contains a pointer to the managed object, as well as a pointer to a shared reference count. Each time you create a new shared_ptr by copying an old one, this shared refcount is bumped up. Always create shared_ptrs using make_shared or by copy/move constructing from other shared_ptrs so this refcount doesn't get fucked up.
>>
>>62097032
Rust is a different language with different semantics entirely. It's a fine thing, but I want an improvement over C++ rather than a replacement for it.
>>
File: racketlog.png (142KB, 512x512px) Image search: [Google]
racketlog.png
142KB, 512x512px
>>62094678
https://docs.racket-lang.org/2d/index.html
>>
When will Micro*ft port Visual Studio to x64 bit and it wouldn't be limited to 2 gb RAM?

ReSharper literally kills VS and it gets so laggy
>>
>>62097042
or just don't fucking shared_ptrs

There's 0 reason to use them
>>
>>62097032
no compile time evaluation
>>
>>62097115
The use cases are slim, you're right.
>>
File: IMG_20170826_152711.jpg (53KB, 720x599px) Image search: [Google]
IMG_20170826_152711.jpg
53KB, 720x599px
>>62097087
wew, racket really does have everything
>>
>>62097115
>There's 0 reason to use them

why
>>
>>62097153
Name a time you should use one.
>>
>>62097238
shared ownership of a resource across multiple threads
>>
>>62097250
Got me there.
>>
>>62097250
you should have another mechanism of knowing when that resource is free, such as joining on all the threads and cleaning it up after that
>>
>>62097319
updating the ref count across threads is garbo
>>
File: screenshot_2017-08-26-15:46:55.png (172KB, 1076x884px) Image search: [Google]
screenshot_2017-08-26-15:46:55.png
172KB, 1076x884px
>>62097117
Source? To me it looks like it does.
>>
File: 1447301137863.jpg (122KB, 1024x768px) Image search: [Google]
1447301137863.jpg
122KB, 1024x768px
In C# can I generate instances of a class from a list of strings as the instance name?
>>
>>62097411
Yes. Go Google it.
>>
>>62094155
>he fell for the functional programming meme
>>
>>62097388
You're missing the point. Having enforced compile time evaluation is important.
>>
>>62097446
What is enforced compile time evaluation and why isn't my example proof that Rust has it?
>>
>>62097411
System.Reflection.Assembly.GetExecutingAssembly().CreateInstance(string className)
needs a cast to the class apparently
>>
>>62097462
>what is it
Features like static if from D or constexpr (arguably) from C.
>>
>>62097494
>C
++.
Obv.
>>
>>62097146
racket is one of the most advanced programming languages when it come to PLT.
>>
What is constexpr even used for? I still don't understand it
>>
>>62097494
Static if has little to do with CTFE/constexpr, it's a dirty hack for doing metaprogramming in languages without a macro system. Meanwhile, Rust is going to have const fn, which is basically constexpr, soon: https://github.com/rust-lang/rust/issues/24111 .
>>
>>62097547
enforces compile time evaluation.
>>
got 98th percentile on the gre verbal section and 80 something on the quantitative section. studied my ass off for the quantitative and i'm in STEM, idk how that even happens
>>
>>62097547
It's occasionally useful for non-trivial initializations, that's all.
>>
>>62097465
>>62097434
So it's not something you do often?
Tying to program solitaire for practice without tutorials. How would you keep track of 52 playing cards usually?

I was thinking 52 class instances with the card number 1-13, color, suit?
>>
>>62097547
Nothing. It just enforces what optimizing compilers have done for years.
>>
>>62097494
I see, by that you meant the ability to manipulate the AST programatically at compile time.
Yeah, Rust doesn't have that, although it has nice macros.
If this is an interesting feature to you I recommend you keep an eye out for Jai (Jonathan Blow's programming language), you'll probably like it https://youtu.be/UTqZNujQOlA
>>
>>62097465
java's so gross
>>
>>62097658
that's C# you fuckboi

>>62097636
You'd never do it like that, dumbass

create class "Card"
value = card value
color = card color

then make deck by creating 52 objects of type Card and that's your deck

fucking retard
>>
>>62097547
it's for computing expressions that are resolvable in the static environment. for example
sha256("a string")
is resolvable since we know the input before execution. but
string s = cin.readline()
sha256(s)
is not.
>>
>>62097654
> the ability to manipulate the AST programatically at compile time.
> Yeah, Rust doesn't have that
Actually, it does, it's called procedural macros and they're even partially stabilized so libs like Serde and Diesel can make custom derive in stable code.
> Jonathan Blow's programming language
It's the most stillborn language out there.
>>
>>62097658
It's much smoother in java.

Class.forName(className).newInstance()

Class.forName(className).getConstructor(parameterTypes).newInstance(parameters)
>>
>>62097674
I've only done scripting before.
How is what you've said different from what I've said? Are you saying type out all 52? Is there a difference between objects and instances?
>>
>>62097759
Maybe don't do that in any language
>>
>>62097790
>Are you saying type out all 52?
or do a loop
> Is there a difference between objects and instances?
no
>>
>>62097718
> it's called procedural macros
Oh, you're right! This is great, though they should probably mention it along with the regular macros in the book instead of talking about it in another chapter.
>>62097718
>It's the most stillborn language out there
Who cares, cool languages are cool even if there's nobody to use them.
>>
>>62097674
Oh I stand corrected:
C# is so gross eww
>>
>>62097804
yeah, a couple for loops to generate the cards and feed in the data.
If there's no difference then what's the difference between what I said and you said?
>>
>>62097550
>https://github.com/rust-lang/rust/issues/24111 .
nice
>>
>>62094155
>Functional programming is the future edition.
More like "I spent too much time in academia or playing around with toy programs and should learn how things work in the real world edition"
>>
>>62097833
Your question is poorly phrased. I thought you were asking how to construct an object whose class is a string in the program.
>>
>>62097845
>how things work in the real world
I think you mean
>how things don't work in the real world

Industry programmers write shitty, bug-filled code and then deride academics for trying to create tools that prevent many of those bugs by construction. (And then grudgingly start using them 20 years later.)
>>
>>62097851
But we both understand what I meant now. What's the code for generating those instances.

Just:
System.Reflection.Assembly.GetExecutingAssembly().CreateInstance(string className)
>>
>>62097874
>Industry programmers write shitty, bug-filled code and then deride academics for trying to create tools that prevent many of those bugs by construction. (And then grudgingly start using them 20 years later.)
My African American friend. See static typing.
>>
>>62097889
No, that's the answer to the question I thought you were asking.

Make a new class Card, containing an int for the number and an enum for the suit.
>>
>>62095412
Just because it can be run with wine doesn't mean it has a linux version.

and besides its SDL. Theres no reason not to make a make file and have it native to linux.
>>
File: s.png (43KB, 1680x1050px) Image search: [Google]
s.png
43KB, 1680x1050px
>>62094155
>What are you working on /g/?
i have nothing to do right now but i probably gonna craft the official dpt ultimate sokoban.
>>
>>62097550
>dirty hack
No. It's a useful and very concise composition tool which people are solving in stupid ways in C++ right now.
>metaprogramming without macros
Now you're just being silly. Metaprogramming with macros is among the most stupid things ever. Beaten only by template metaprogramming.
>>62097654
>manipulate the AST at compile time
No. First of all I'm just guessing what anon means. He's not being clear. And secondly, Manipulate the AST? With constexpr? constexpr is just a way of annotating to the compiler that a certain piece of code should be possible to evaluate at compile time. If it's not it's a compilation error. That's the minimum requirement anon seems to be after here.
>I recommend you watch JAI
I am. It's very interesting to me.
>>62097718
>stillborn
Anon saying things like this lands you on my 'retards who shouldn't be allowed to speak in any context'-list.
It's in active, rapid development and has done way more in a short amount of time than tons of other languages.
>>
>>62097795
Why?
It's not even that bad.
>>62097636
>it's not something you do often
Normally when you want to instantiate an object you instantiate the object by name. If you wish to instantiate objects polymorphically there's many ways to do it. A factory pattern or switch statement would suffice.
>how would you keep track of 52 playing cards
Without specific requirements I'd create a 'deck' which is just a list of 52 cards (a class 'card' containing suit and value).
>>62097889
I don't remember C# well enough to give you very specific code but for something this simple you can just Google.
You don't even need to be general about it as this is probably an assignment given all over the world.
https://stackoverflow.com/questions/33028678/creating-a-simple-deck-of-cards-c-sharp
>>
http://www.cplusplus.com/reference/unordered_map/unordered_map/find/

Why does this have a linear worst case? Is there a std map with O(1) insert and lookup?
>>
>>62094155
feeling pretty comfy, working through an iOS self-teach book
>>
>>62098308
Because the spec is completely fucked by iterators or something like that.
>>
>>62098390
I just want a fucking map.containsKey(). What's wrong with c++...
>>
>>62098308
>Is there a std map with O(1) insert and lookup?
if such a map existed we'd all be using it
>>
>>62098439
Does boost not offer one?
>>
>>62098308
because collisions.
>>
>>62098455
how can you know about Big O notation and not know that there's no map with a constant insert and lookup time?
>>
>>62098439
What? Oh, I guess I messed up the vocabulary. I mean O(1) insert and retrieval, not lookup. Hashmaps, by definition, have that. But for some reason the STL one doesn't? That's pretty dumb.

>>62098474
It's not a matter of collisions, it checks against an iterator. It's actually a list, internally.

>>62098483
There are more people on this board than you and me.
>>
>>62098402
http://en.cppreference.com/w/cpp/container/map/count

but still O(logn)
>>
>>62098494
The specification for std::map and std::unordered_map is fucked up so it has to use a list.
>>
>>62098308
>why is std::map [bad]
Because C++s committee doesn't give a fuck and maps are bad in general.
https://youtu.be/fHNmRkzxHWs
45:05
>>
File: logo[1].png (13KB, 800x188px) Image search: [Google]
logo[1].png
13KB, 800x188px
I'm trying to sort through and catalog all my old coding projects (from high school/college) by date created.

For some of these I didn't include header comments with the date and author information. Does eclipse save any of this information in the project, since I did most of them with it?
>>
>>62098516
What the fuck. I'm making my own map.
>>
Voxels a shit, would only rendering Blocks that touch an empty air block be a good way to increase performance?
>>
>>62098547
Good call. But consider other libraries too.
>>
>>62098555
Yes but replace air blocks with blocks that have some level of transparency. No sense in rendering something you can't see.
>>
>>62098516
I don't have time to watch an hour long video, please give a summary about why maps are bad in general.
>>
>>62098628
He gave the time code dumbass
>>
>>62098555
A good way to improve performance would be to create a vbo of only the faces touching air blocks yeah.
Consider looking at https://youtu.be/2vnTtiLrV1w
When you're done exploring this yourself. It's really good.
>>62098599
I don't think anon was thinking that he'd draw the completely invisible objects only at visible object boundaries but rather have chunks of solid blocks be hollow from a rendering perspective.
>>
>>62098628
It's like 5 minutes from the time code.
>why maps are bad in general
Because they're non-linear access. But it's not directly addressed in the video.
If you absolutely need them (you sometimes do) they're good. But they're not as common a datastructure as you'd think. If you care about performance.
They can be very convenient.
>>
>>62098599
the air blocks are just a representation of nothing in the chunk array, so essentially;

if(chunk[14[55][16]] == NULL)
{
// Render
}
>>
File: Grass.png (4KB, 644x513px) Image search: [Google]
Grass.png
4KB, 644x513px
>>62098633
i've had that video saved for a long time, it gives me a raging hardon.

and yes thats exactly what i meant, i'd probably have to figure out how to render just the faces touching the air though
>>
>>62098660
Doesn't std::map have a pretty bad implementation? Usually you want std::unordered_map
>>
>>62098765
Well what we just learned in this thread is that std::unordered_map is just as bad.
>>
Can furries program?
>>
File: keeek.jpg (134KB, 1279x881px) Image search: [Google]
keeek.jpg
134KB, 1279x881px
What does the " __attribute__((__packed__)) " mean in this code?

typedef struct 
{
WORD bfType;
DWORD bfSize;
WORD bfReserved1;
WORD bfReserved2;
DWORD bfOffBits;
} __attribute__((__packed__))
BITMAPFILEHEADER;


It's outside of the bracket and before the new semicolon, so wouldn't that make the name of the struct/type "__attribute__((__packed__))
BITMAPFILEHEADER;" ?

Later in they just refer to it as BITMAPFILEHEADER, so how does the compiler know to ignore the "__attribute__((__packed__))" part?
>>
>>62098967
No. They can't do anything.
>>
>>62098967
half of google's employees are proof of this.
>>
>>62098976
it avoids padding the structure with useless bytes during compilation
>>
Can someone link me to what they believe is the best Youtube series for learning Java?

Would appreciate it.
>>
>>62098976
styx gets loads of pussy
>>
>>62098976
If you don't know what alignment is, ignore this.
>>
>>62099012
how about don't use youtube for learning. do this instead. work through this in it's entirety and you'll know some java.
http://mooc.fi/courses/2013/programming-part-1/
>>
File: 1448891579999.png (508KB, 783x558px) Image search: [Google]
1448891579999.png
508KB, 783x558px
Is the whole "Ruby is dead" thing a meme? It looks fun but investing time in a declining language is not something I want to do.

Are any of the more popular languages similar to Ruby?
>>
>>62099208
Thanks man I will try this out.
>>
>>62099012
https://www.youtube.com/watch?v=kOgLxc9YvbI
>>
>>62095617
automate the boring stuff with python?
dive into python 3?
>>
>>62094691
>>62094753
They're trying to put nightly up looks like, big surprise it's only tested on amd64 and i386.
Would be nice if they sped up pushing features to stable though, nightly always had the dank ones.
>>
>>62097547
it allows for guaranteed compile-time execution of arbitrary code, eliminating the need for template metaprogramming techniques in many cases (and pretty much entirely eliminating the need for macros in general). "constexpr if" also allows static branching in a much more intuitive and less ugly/verbose way than the template metaprogramming-driven alternative

>>62097592
that oversimplifies it a bit considering those initializations can be *very* nontrivial. like complex transformations of products of higher-order functions and such. you can also mutate state inside constexpr functions as long as that state is local to the scope of the function, often simplifying things that might otherwise get ugly/wordy. also, see below

>>62097650
it's very nice to be able to make actual guarantees instead of hoping the compiler optimizes your case. i've written constexpr linear algebra code, a software rasterizer, and a perlin/simplex noise implementation such that (if you really wanted to) you could procedurally generate textures and render a 3D scene to a buffer at compile time in a guaranteed way. an over-the-top example, but i'd be very surprised to see an existing compiler implementation pull that off reliably without cues like constexpr. not to mention the producsts of constant expressions still being usable as non-type template arguments. i've also implemented compile-time strings which are still usable in constexpr contexts after being transformed
>>
>>62099213
Perl
>>
File: hidden message.png (108KB, 640x480px) Image search: [Google]
hidden message.png
108KB, 640x480px
i'm doing an assignment. Basically there is a clue in this picture. I understand how to iterate through the scanlines and all, but i don't get what i'm actually supposed to alter so that I see the hidden picture. It says get rid of the red noise.

If I just change all the red pixels to white, then i'll just have a blank white picture. If I change all the white ones red, i'll just have a solid red picture.
>>
File: 14706401011151.jpg (1005KB, 1920x1920px) Image search: [Google]
14706401011151.jpg
1005KB, 1920x1920px
>>62099550
define what noise is, work out an algorithm to gradually reduce it in an image, slowly reduce it til a message appears.
>>
>>62099517
Isn't Perl even less prominent than Ruby?
>>
>>62099550
oh my god anon. look closely, there are blue pixels in the middle. It's a light blue. So have you even tried turning the red pixels white? Because then you would be able to see the blue pixels.
>>
>mfw just learning about pseudocode before getting into java.

So this is it? This is my life now?

>mfw I have no face.
>>
>>62099550
there, easy
>>
>>62099616
>>62099578
yeah I looked at it and i realized it's actually entirely red and BLUE pixels, not red and white. So here's the output.
>>
>>62099705
Yet you couldn't figure this out by yourself desu,
>>
>>62098976
normally the compiler might add padding between struct members (which that attribute instructs the compiler *not* to do), but that would be undesirable in this case because in a bitmap file header these values are stored back-to-back (no padding). if padding were added, reading a BITMAPFILEHEADER from the binary data of a bitmap file would end you up with a struct with incorrect member values because the offsets of the members of the struct would differ from the offsets of their respective values in the data
>>
>>62099697
wow, spoiler tag that please. Good thing i figured it out before looking here.
>>62099705
forgot to upload pic but anon above me did anyways.
>>
>>62099550
>>62099697
>>62099742
this stuff is pretty interesting, is there a quick brainlet way of explaining how this works?
>>
>>62099760
Sure anon. A bitmap is made up of rows of RGB values. Whatever image software you use just reads those and displays it based on the values. So to find the solution, you just remake the BMP but whenever you encounter a red pixel, or in hexadecimal "ffffff" you would instead place "0x000000" or whatever so it's white instead.

see a few rows of it to understand what i'm talking about
00de1b6: 0000ff 0000ff 0000ff 0000ff 0000ff 0000ff 0000ff ffffff  ........................
00de1ce: 0000ff 0000ff 0000ff ffffff ffffff 0000ff 0000ff 0000ff ........................
00de1e6: ffffff 0000ff ffffff ffffff ffffff ffffff 0000ff 0000ff ........................
00de1fe: 0000ff ffffff ffffff ffffff ffffff 0000ff 0000ff ffffff ........................
00de216: 0000ff 0000ff 0000ff 0000ff ffffff ffffff 0000ff 0000ff ........................
00de22e: ffffff 0000ff ffffff ffffff ffffff ffffff 0000ff ffffff ........................
00de246: 0000ff 0000ff 0000ff 0000ff ffffff ffffff 0000ff ffffff ........................
00de25e: 0000ff 0000ff ffffff 0000ff 0000ff 0000ff 0000ff 0000ff ........................
00de276: 0000ff ffffff ffffff ffffff ffffff ffffff ffffff 0000ff ........................
00de28e: 0000ff 0000ff ffffff ffffff 0000ff ffffff ffffff 0000ff


The numbers before the semicolon are just the row number, you can ignore that. the main focus here is the 0000ff and the ffffff.
>>
>>62099841
okay, I get that. is there a reason why I can't see the blue parts in that guys pic or is it our eyes fucking with us?
>>
>>62099912
There are three colors in the picture. Two of them are very similar, but not the same. That's why you can't differentiate them.
>>
>>62099931
I see 8)
Thanks for explaining, good boy.
>>
File: pythagoras.png (13KB, 645x185px) Image search: [Google]
pythagoras.png
13KB, 645x185px
Hello anons, how can i get this to go back as in pic related? I was thinking about using a for loop before user defining start value but i cant really see how to do it... Or i could ask the user to redefine start value after writing some gibberish, but im not sure about how to execute the previous code? Besides copy pasting the same code
>>
>>62099958
while(True):
start = input("Want to start?")
....
print("Yes or no?")
>>
>>62099958
while true and break or while status /= yes or no
>>
>>62099931
not true m8, there's only two, the rest of the rows are identical, it's all just ffffff and 0000ff.
>>62099625
there is no need to read about pseudocode, its just a less formal way of expressing the exact same concepts you'd already know if you'd just learn java instead. you're wasting your time, pseudocode isn't even a skill you need to explicitly study to understand.
>>
>>62099613
You wanted a language similar to Ruby.
>>
File: asdf.png (108KB, 640x480px) Image search: [Google]
asdf.png
108KB, 640x480px
>>62100013
>not true m8, there's only two, the rest of the rows are identical, it's all just ffffff and 0000ff.
Well then it's really interesting how I could solve it with a paint bucket.
>>
>>62099958
You could just put that stuff into a function, and call the function again at else.
like so:
def asdf():
start = input...
...
else:
asdf()

Or just use the loop like mentioned here:
>>62099996
>>
>>62100031
lul
>>
>>62100031
too many closed boundaries tho
better ms paint solution is using right click with the eraser to replace only pixels of the primary color with the secondary color
>>
I looked into Go. I like the simplicity but it's too simple I feel like. I thought writing old-school for loops was a thing of the past yet here we are again. Hard to go back to after I got so used to map(), filter(), any(), all() etc. in Python and Java.
>>
File: 1479253616036.png (25KB, 600x544px) Image search: [Google]
1479253616036.png
25KB, 600x544px
>>62094155
Managed to get some scatter plots generated using Python with numbers I was originally pasting into my Excel template so pretty happy with that :^)
>>
>>62094166
Use either C# or D. Honestly it's not hard to minimize the GC usage. Most of the techniques are the same as a non-GC performance critical system. Object pools, preallocation, and keeping a reference, etc.

For embedded use you're still stuck with Assembly + C and some subset of C++. Of course, there is a micro .Net framework (NETMF) or recently TinyCLR. Apart from that whatever you can find.

You can safely stop using archaic shit like C++ nowadays for most cases. Simply write the performance sensitive parts in C.
>>
>>62100577
What does map() even look like in Go? I tried asking a Gofag, but he got confused and thought I was talking about hashmaps.
>>
>>62100619
>he got confused
As expected of Gotards
>>
>>62100619
pike implemented some of that stuff but did not like it
https://github.com/robpike/filter

always remember that the largest influence is c
>>
>>62100619
There are some (standard) libs that implement Map on some types, but it is very limited because lol no generics. So what you can get is
>func Map(mapping func(rune) rune, s string) string
but not Map: []string -> mycooltype. There are ways to bolt it on but it always remains hacky.

>>62100651
>always remember that the largest influence is c
I guess it's an expectations thing. Being a new-ish language I expected Go to have many features now standard but it seems like it's more of a garbage-collected C really.
>>
Can anyone recommend me good books for studying algorithms (using C language preferably)? I have 2 more free days and need to read something to become smarter
>>
>>62100651
>crashes program when passing wrong type
Literally worse than python, python at least lets you catch an exception
>>
>>62100577
Exactly.
Go is very simple, but after a while you'll realize it's too simple.
>>
I grabbed TCPL at the library today on a whim and there are some things in the standard lib I didn't know were in there. bsearch, qsort, the atexit stack...
>>
File: images.jpg (22KB, 573x648px) Image search: [Google]
images.jpg
22KB, 573x648px
>>62100686
This is what we've used in the university for years. I can't say if it's the best, but it's extensive.
>>
Should i try reading SCIP if i suck at math? Like really suck
>>
>>62100681
Yes, it somehow manages to be worse than C despite being made with decades more PLT knowledge than existed when C was created.
>>
>>62100758
you could suck my dick. Like really suck.
>>
>>62100735
That is a good book, anon.
>>
>>62100577
Go reduces the set of first-class citizens and requires function calls, often incurring a small performance penalty. I think this is a step in the right direction. Languages should be small and cover as much as possible in the standard library.
>>
>>62100783
You can't just add a decent static type system in the standard library. It has to be in the language itself.
>>
Is C a nice language to learn? I am a second year CS undergrad can code basic stuff in C# and Haskell
>>
>>62100818
Yep.
Where are you that they teach Haskell?
>>
>>62100735
the problem i have with this book is that it doesn't make any choices. i can't in good conscience point a beginner at a 1,300 page book
>>
>>62100818
Yes, C is very close to the machine interfaces and as such makes you better understand how computers, i.e. the machines doing your work, actually work. Of course modern CPUs have so many caches and parallel optimizations that it isn't 1:1 but I still find it to be the most satisfying language I've ever learned.
>>
>>62100833
I decided to pick it up myself since it is a really different language and has some interesting and unique concepts compared to mainstream languages. So, it was a matter of interest
>>
>>62100856
That's a very good attitude to have. I think you'll have a pleasant time with C.
>>
>>62100856

You will turn to C++ eventually when you have to code large project with GUI and shit. C is good but its very hard to code anything bigger than console application
>>
>>62100833
Many universities teach Haskell to first year undergrads. Here are just a few:

http://www.cs.ox.ac.uk/admissions/undergraduate/courses/computer_science_core_1.html#Functional_Programming

http://www.imperial.ac.uk/computing/current-students/courses/120_1/

https://www.inf.ed.ac.uk/teaching/courses/inf1/fp/
>>
So i'm a fag nub and I'm trying to do a jukebox cli challenge in ruby. I started out by creating several helper functions(help, play, list, exit_box).

Now my instructions tell me to create a run method that calls on the help method. The help method had no argument but even so I'm confused on how to call it within the new run method. I know its easy as piss to use a helper function in js but i've not really done it in ruby
>>
>>62100915
Universities should have never switched away from Lisp dialects for teaching.
>>
>>62100915
I know about these, I was just curious.


>tfw you missed by one grade on your A Levels and failed to meet the requirements for your Oxford offer
I-I'm not upset.
>>
>>62100944
I don't mind them moving from Lisp to statically typed FP. I do mind them moving from either of those to Java, Python, or similar.
>>
>>62100962
My university taught freshmen Python, sophomores Java, juniors C++, and seniors C... Worst fucking path ever
>>
>>62101010
What the fuck anon.
>>
i've got to get child processes to compute a value in a 2 dimensional matrix and then have the parent plug it in to the correct place. i can't pass any extra information about the index it goes in to the child, and then have the child report it back to the parent. is the only way to do this a hash table to store and look back up the right index for its pid?
>>
Did anyone ever do this?
>>
>>62100915
based uk
>>
New thread:

>>62101129
>>62101129
>>62101129
>>
>>62101121
roll
>>
>>62101223
C++ is gay
>>
>>62101121
yo I don't wanna spam this shit but I wanna stack some exercises so can you bitches reply to me so I can add those to the stack. thanks
>>
>>62101285
you don't have to roll by replying
http://www.wolframalpha.com/input/?i=random+integer+between+1+and+145
the above is less ambiguous/biased anyway
>>
>>62101382
nigga the 4chan random number generator algorithm is better
>>
>>62101426
selecting by post number won't yield an even remotely uniform distribution of those values
>>
>>62101121
Top kek at some of the difficulty levels.
Btw, rawl.
>>
Im trying to get to a course which is suppose to teach C C++ python java and somehting else in the first year.. called computer and informatics engineering
>>
>>62101916
>>62101382
It gave me the same number, 16.
>>
>>62101938
no, wolframalpha gave you 16, and your post number gave you 916, which you counted as 16. if posts ending in 216, 316, 416, 516, 616, 716, 816, and 916 all count as entry number 16, and a post ending in 116 counts as entry number 116, then you're far more likely to get entry 16 than entry 116. do you see what i mean?
>>
>>62102171
Indeed my strategy to reduce the generated 3 digit number if it's larger than 145 is to remove the most significant digit.
The chance to get the "same" number is still small. So I simply remarked this nice coincidence.

If the last two digits are less than 46 then the valid first digits are 0 and 1. Otherwise 0. Except for 000.
Anything beyond that can either be considered 1XX (only up to 45) or 0XX (up to 99 - what I used), possibly in that order. It gives a different bias to the distribution whether we consider only the 0XX case or we first try to use it as 1XX.

It's indeed interesting.
>>
So because I'm a piece of shit and I can't keep a normal written planner like a normie, I've decided to write a scheduling app that will text and email alert me of upcoming deadlines. It'll be written with Python and use MySQL on the backend. I also plan to give it a discord bot frontend to make adding and viewing querys easier.

I've got MySQL setup and have my querys written up, now I just gotta script out the rest.
Thread posts: 324
Thread images: 31


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

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


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