[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: 323
Thread images: 39

File: daily programming thread2.webm (2MB, 600x338px) Image search: [Google]
daily programming thread2.webm
2MB, 600x338px
old thread: >>60914806

What are you working on, /g/?
>>
File: 14.jpg (57KB, 1600x900px) Image search: [Google]
14.jpg
57KB, 1600x900px
>>60919988
Been fucking around with the Destiny API for fun. Why is their documentation so fucking shit?
>>
a<b?x=c:x=d;


if(a<b){x=c;}
else{x=d;}


The executables are different sizes. You can't explain this shit.
>>
>>60920031
you're doing it wrong.
>>
>>60920031

Check the assembly in gdb.
>>
>>60920031
ternary operators can only contain expressions, not statements.
You write this like
 x = (a < b) ? c : d;
>>
>>60920060
x=c IS an expression.
>>
>>60920031
the ?: probably compiles into a cmov, the ifelse probably compiles into a cmp+jump
2 instructions versus 1, linus torvalds once wrote about cmov on a mailing list, it's not any faster just because it's less instructions.
idk about modern x86 but i would bet that cmovs still aren't faster, so if you compiled with optimization it'd probably make them both cmp+jumps.
>>60920060
assignment is an expression
>>
>>60920060
x = c is an expression in C dumbass. I don't know about C++ tho.
x = c evaluates to c in this case.
>>
>>60920064
So what you're saying is (? :) as opposed to (if else) have no advantages other than being more concise? (no performance advantages)
>>
>>60920063
>>60920073
x = c; is a statement
c is the expression
>>
>>60920085

?: lets you assign from the result
>>
>>60919988
Web browser with security in mind and working from a terminal (without Xorg) http://magicpackets.net:3000/proudfeet/netrunner

Developers wanting to participate send an email >>60919191
>>
>>60920106
x = c is the expression
x is also an expression.
so is just c.
x = c; is a statement.
>>
>>60920085
i don't know it for a fact but yeah, basically.
i would imagine the compiler is a lot more willing to do certain optimizations with ternary operators, but i'm not a computer scientist, compilers are outside of my scope.
>>
>>60920106
x = c; is a statement! x = c is an expression! It's not that difficult to understand, jesus.
>>
>>60920150
Are you still insisting that a<b?x=c:x=d; is syntactically valid?

jesu
>>
File: webdevs in 2017.png (240KB, 579x617px) Image search: [Google]
webdevs in 2017.png
240KB, 579x617px
>rewriting this in a functional language lets you ensure immutability of state and that lets you reason about the program and prove it's correctness in a logical and mathematically sound way

It always cracks me up when limp-wristed javascript webdev cunts try to LARP as mathmaticians.
Why do programmers have such delusions of grandeur? Especially the CS grads.
You're writing bottom of the barrel garbage CRUD code that glues other people's libraries together, stop pretending you're a mathmatician.
>>
>>60920195
It literally is.
x=c is itself an expression, that's why you can chain them like y=x=c; That's why in C++ you overload = by returning *this.
>>
>>60920195
Well, it's not due to the ?: having a stronger precedence than =, so it ends up being
((a < b) ? (x = c) : x) = d;

which is wrong. Placing () around the assignments fixes it, though.
(a < b) ? (x = c) : (x = d);
>>
File: test.png (29KB, 654x425px) Image search: [Google]
test.png
29KB, 654x425px
>>60920195
No errors, no warnings. Output is 7.
>>
>>60920219
why do you care so much? you sound like someone who tried to get into development but failed horribly.
>>
File: 1466667008121.png (245KB, 900x827px) Image search: [Google]
1466667008121.png
245KB, 900x827px
>>60920009
Ararararagikun

>>60920272
You got a weird version of emacs there.
>>
>>60920527
very lean vim with a few plugins and a small config file. I don't use it very often.
>>
>>60920309
Yeah well you sound like a piece of dookie butt that smells like I put my hand in my mother's butthole.

Pardon me, that song is stuck in my head really badly.
>>
File: 1494829680609.png (48KB, 752x672px) Image search: [Google]
1494829680609.png
48KB, 752x672px
>>60920567
It's quite similar to my emacs (in gui)
>>
File: 4637812431.gif (670KB, 500x281px) Image search: [Google]
4637812431.gif
670KB, 500x281px
>>60919988
Anyone know why mailx won't send me anything?

echo "why the fuck isn't this sending" | mailx -s "shit" <phonenumber>@vtext.com
>>
/dpt/, I'm sick of this "girl (male)" meme.
Homosexuality is ALWAYS wrong.
Ooh, you think you're so fucking edgy with your "it's not gay if it's a feminine penis."
How is "it's not gay if it's a passable tranny" any different from "it's not gay if it's a child," WHICH, IF YOU'LL RECALL, is exactly the sort of attitude that was why Lord Jesus Christ our Savior and God damned the ancient Greeks?
I hate everyone in this thread. Fuck you.
>>
>>60920712
not programming related
>>
>>60920794
like it or not, bash scripting is technically systems programming -- although, granted, of all the possible valid uses of the term, it's probably one of the cringiest
>>
>>60920794
I'm using mailx as part of a program that I'm implementing that's supposed to send mail periodically. I just can't get it to work. What I posted was an example of how it's not working.
>>
>>60920712
Got it to work. Had some fucked up SMTP settings
>>
C++ or Rust?
>>
Programming Challenge
Write a routine that prints "Hello, world!"
>>
>>60920777
Programming is an inherently feminine and secular activity.
>>
See https://sstewartgallus.com/git?p=qlock.git;a=blob;f=tla/StackLock.tla;h=6884d808b5ffd605e912f4b12ae38928fd9b8313;hb=HEAD1 for the code.

On many-core machines spin locks can be slow because the cores ping each other constantly. To improve on this people often use test-and-test and set locks as loads from a memory location are often cheaper than exchange and compare and exchange operations. However, there is still a small amount of intercore communication which can be expensive on machines with a whole lot of cores. To improve on this the MCS and CLH queue locks were invented. Basically, in these algorithms each waiting core spins on its own separate memory location which is linked into a queue. This may possibly be faster in some scenarios although for little-core machines the added complexity is often slower. A deficiency with these algorithms is that the waiters are ordered in strict FIFO queue order and no other scheme is possible. For example, one might want to use a priority queue (for hard real-time scenarios) or a stack (for better raw performance.) I came up with an algorithm (which I think is new but might possibly not be as I am not really an expert on this topic) that allows the ADT details to be easily replaced by any structure that offers push, pop and isEmpty functions. This algorithm can then be used with stacks or priority queues.

I implemented this algorithm in Rust (with the specific case of a stack) and then formalized the abstract details in TLA+ which led to me discovering and fixing a deadlock bug. So far, I have run and tested the model under a number of threads but past 4 or so threads the model checker becomes very slow.
>>
>>60921300
This, just look at programmer talks, half of those scrawny ass fuckers probably take it up the ass and dress like women on the weekends. It doesn't help that they have the vocal fry and that annoying upward inflection when speaking.
>>
>>60921331
What shitty fucking programming talks do you listen to?
Rust talks? Javascript talks?
>>
>>60921295
>routine
>>
>>60921295
int main() {
anus
}
>>
>>60921443
Void main{}(
[foo]hello; world""
Return bar,
>
>>
>>60921471
int maaaaaaaaaaaaaaaaaaain() {
puts("SPLAT!");
puts("ow that was a long fall");
}
>>
>>60920060
even though this is the not dumb way to write it still does the same thing.
>>
>>60921295
hello world
>>
#include <iostream>

void main() {
string occupation;
std::cout << "Hi, welcome to Chad's virginity checkerâ„¢" << std::endl;
std::cout << "Simply input your occupation below and chad's brogram will guess if you have lost your virginity or not" << std::endl;
std::cin >> occupation;
if (occupation == "programmer") {
std::cout << "You're a virgin";
}
else {
std::cout >> "congratulations on being a normal individual. Despite code monkeys claiming pseudo-intelligence, most do embarrassingly basic tasks whilst wage-slaving away for their chad boss. Programmers must be eradicated.";
}
}
>>
>>60921291
Rust any day.
>>
>>60921291
C++
>>
>>60921568
>std::cout >>
fucking jej
>>
>>60921291
Rust

the template syntax is not as ugly as C++, though it's still kind of ugly. Type traits beat multiple inheritance of virtual classes anyday.
>>
Does rust require you to use braces even on single-line conditional statements?

What an ugly fucking language.
>>
>>60921760
>Does rust require you to use braces even on single-line conditional statements?
no
>>
I've found that running strings on EXEs (not stuff I wrote, mostly small freeware games) sometimes turns up absolute directory paths that are clearly nothing from my computer, and presumably are the path to the program project on the developer's computer. What's the point of this? Obviously they're not really useful to anyone but the developer, and doesn't it potentially present a security/privacy risk?
>>
>>60921834
Debugging. The debugger needs a path to the source code. Personally, I strip such paths out of my projects for deterministic build reasons.
>>
>>60921760
>>60921826
Yes, it does.
if (cond)
do_thing();

is invalid. They actually removed the need for () around the conditional, so it would be
if cond {
do_thing();
}
>>
>>60921852
Is there any reason it isn't automatically removed from release builds? I mean isn't that kind of the reason to have separate build options for debug and release?
>>
>>60921857
Good riddance
>>
Developing an interactive webmap and integrating it into my businesses webmap.

If anyone has any past experience with this kik me at slickman130 plz, itd help
>>
information wants to be free
art doesn't
a game is art
a game engine is information
therefore games should consist of nonfree content intended to be interpreted and presented by free engines
>>
>>60921895
if you're more concerned with shit like this than with actual programming you should join the fsf
kick stallman in the fucking face for me if you have the honor of meeting him
>>
>>60921912
>kick stallman in the fucking face for me if you have the honor of meeting him
Fuck you, retard.
>>
File: 1489394414673.jpg (38KB, 600x332px) Image search: [Google]
1489394414673.jpg
38KB, 600x332px
>>60921912
>>
>>60921912
>what is this """actual programming"""?
>>
File: 1497152043527.gif (46KB, 450x510px) Image search: [Google]
1497152043527.gif
46KB, 450x510px
>>60920031
Ternary Conditionals are comfy AF
>>
>>60921923
what's not to hate about him?
he's fat, which is both viscerally and morally repulsive
honestly that's enough reason to hate anyone, but as if it weren't, he's also a commie
>>
>>60921969
>a commie
fossmunism has never been tried
>>
@60921969
(You)
>>
>>60921969
>he's fat,
>So I hate him xddddd
Parents need to beat up their children more often
>>
>>60921969
wow what the fuck fuck you
yes fat slobs are disgusting but they're people too you prick
i mean i fucking hate them as much as you do but it's not like i actually endorse that hate, it's just something i let myself feel just because i can't not do so
everyone has their own reasons for being what they are dude, it's super fucked up to just hate whole categories of people and actively assert that every single one of them deserves it
>>
Is there any functions in the C/C++ language that isn't in the header files?

Meaning I could call them even if I didn't included any headers?

eg
int main()
{
foo();
return 0;
}
>>
>>60922069
No. Compiler built-ins don't count.
>>
>>60920113
(x = c) also lets you assign from the result. y = (x = c); is valid.
>>
why dont you guys program in lambda calculus
It only takes 4 lines of code
eval (\x. y) env -> (\arg. (eval y (x,arg):env))
eval x (y,b):env -> eval x env
eval x (x,c):env -> b
eval (x y) env -> ((eval x) (eval y))
>>
>>60921291
C++ but save it to a .c file. If it doesn't compile with a regular c11 compiler then you're writing C++ wrong
>>
File: wspeed4.gif (17KB, 320x200px) Image search: [Google]
wspeed4.gif
17KB, 320x200px
How hard is to port a DOS program to Linux if my skills as programmer are virtually non-existent? Specifically I want to port this http://bisqwit.iki.fi/wspeed/
>>
>Kate crashes each time I open the file picker dialog
The power of C++
>>
>>60922178
Use dosbox or an emulator. You'd have to learn how syscalls work, then learn most of the DOS syscall library and then most of the linux syscall library, and that's assuming the dos program was written in C and uses the c standard library, which might be a problem
>>
>C++17
>Still doesn't support non-trivial designated initializers.
What a fucking joke.
>>
>>60922186
>>60922254
>C++
Found your problem
>>
>>60922228
So is double work right? And if I want to pull this off, what resources can I use to learn about this stuff?
>>
>>60922267
man dosbox
>>
lol
=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================

Aborted (core dumped)
>>
>>60921471
Can someone explain what this foo bar crap is? I've been programming through highschool and college and still haven't seen this outside of tutorial examples.
>>
>>60922392
https://en.wikipedia.org/wiki/Metasyntactic_variable
>>
What if we had all the power and convenience of functional programming AND the speed of LLVM binaries?
>>
>>60922416
Then that would be cool

But we don't, at least not in some form that comes without glaring issues
>>
>>60922416
llvm binaries are slow though, gcc has way more optimization
>>
>>60922416
Rust is the closest you'll get
>>
File: 1429906524019.jpg (27KB, 402x402px) Image search: [Google]
1429906524019.jpg
27KB, 402x402px
How do I consistently get into the mindset to program?

I've been doing webdev stuff for the past year and a half. I've learned HTML, CSS, a bit of Javascript and PHP and will probably start python soon, but I'm an absolute shit programmer who can't problem solve their way out of a wet paperbag.

Thing is I need to do a literal meditation process where I examine my life, work my way through massive self esteem issues and burn some incense before I can even START programming when I'm at home. I have trouble concentrating on anything and have few inherent math skills.

I probably should throw in the towel and realize that this just isn't for me, but I've done that three times before in life and yet here I am back trying it again, and I've been doing it for a year and a half without giving up, so that says something. Also the way I see it it's pretty much the only way out of minimum wage hell at this point. I have NO social skills whatsoever and I don't really like people that much. I spend most of my time on the computer so it makes sense that my job should involve that in some way.

How do I do it?
>>
>>60922442
Abuse amphetamines
>>
>>60922450
Is there a way that wont fuck his shit up in 10 years?
>>
>>60922481
No
>>
>>60922427
Your mileage varies by application of course, but these days LLVM usually is comparable. In these benchmarks it wins more often actually ,but I'm cautious to generalize those numbers, since historically that hasn't been the case. https://www.phoronix.com/scan.php?page=article&item=gcc7-clang4-jan&num=1

But anyway, LLVM has been progressing fast.

>>60922442
You just have to push through and keep trying anyway. That doesn't guarantee results, but not trying guarantees no results. Programming was really frustrating when I first started too.
>>
>>60922442
If you don't understand everything about programming right from the get go you were not cut out of this kiddo,

or life. you should kill yourself

*puffs vape*

I showed that script kiddie
>>
>>60922442
Dumb frogposter, kill yourself.
>>
What is XML used for? Is it just a file type? I'm reading about a DSP chip that stores it's firmware builds in XML files, and I don't really know what that means.
>>
>>60922392
Any time you see "foo", "bar", "baz"... It's a pretty good indicator that the person can be safely ignored on any and every topic relating to programming because they are a dumbass cargo culting idealogue who probably still thinks goto is EVIL
>>
Rate my first program (please don't judge on language):
# Prompt for input to "guess" variable [00,61]; input other than an integer 
# is caught and ignored.
import time

x = int(time.strftime('%S'))
guess = None
while guess != x:
try:
guess = int(input('Guess an integer:\n> '))
except ValueError:
print('Not an integer! ', end="")
continue
if guess < x:
print('A little higher. ', end="")
elif guess > x:
print('A little lower. ', end="")
else:
print('Congratulations, you guessed it!')
if input('Guess again? (y/N): ') in {'y', 'Y'}:
x = int(time.strftime('%S'))
guess = None
>>
>>60922575
Triggered, wojak?
>>
>>60922636
It's a file type syntactically similar to HTML that's used for storing data in a format that's more or less readable to both machines and humans.

It's used less often these days cause it's bulky and annoying. But it's pretty easy to read if you already know HTML. It basically represents a tree of named data points.

Often people will set up their programs so that instances of objects can be serialized to and from tags in XML.
>>
>>60922705
Interesting, thanks.
>>
Still upgrading my company's suite of webapps from Vue 1 to Vue 2 entirely by myself because I'm the only one on the development team at this company.

I'm also getting shit pay.

Wew.
>>
File: shit eating grin.png (191KB, 273x391px) Image search: [Google]
shit eating grin.png
191KB, 273x391px
>CLOS allows you to specialize on a single object
>>
>>60921895
Good thing this isn't the case or we likely wouldn't have many good game engines.

I can't imagine the open source climate for game engines, were open source engines the top players, turning into a sustainable competitive landscape the way they have for compilers and web browsers and such. The interest and cooperation of game dev companies simply isn't there and never will be.

In some cases (reasonable) software licenses are a positive influence on the software landscape since some stuff just doesn't get done unless you pay people to do it. Obviously I prefer open source (sometimes FOSS) when it can take root.
>>
File: 1486957282158.jpg (151KB, 1400x788px) Image search: [Google]
1486957282158.jpg
151KB, 1400x788px
#include <iostream>

class Class {
public:
Class() {};
Class(const Class& c) {};
Class(unsigned a, unsigned b, unsigned c) {};

private:

unsigned _a;

struct Struct {
unsigned _a;
unsigned _b;
unsigned _c;
} _struct;

};


In constructor
>Class(unsigned a, unsigned b, unsigned c)

How do we set a to _a inside of a struct, b to _b inside of a struct, etc? : _struct._a(a) simply refuses to work.
>>
File: 1488006986104.png (14KB, 166x166px) Image search: [Google]
1488006986104.png
14KB, 166x166px
https://github.com/rust-lang/rust/search?p=1&q=madoka
>>
>>60923436
>Meme++
What the hell are you doing? Just use C.
struct class c = {
._a = 10,
._struct = {
._a = 20,
._b = 30,
._c = 40,
},
};
>>
>>60923586
You can make constructors with macros after all, no reason to use something as gregarious and beastly as C++! /s
>>
>>60923586
_
disgusting
>>
>>60923554
don't worry, it'll be removed soon because anime is sexist
>>
>>60923633
I was just following the field names in his example. You wouldn't typically use a bunch of useless underscores.
struct class c = {
.a = 10,
.struct = {
.a = 20,
.b = 30,
.c = 40,
},
};
>>
>>60923644
Wait, now .struct is invalid, as it's a keyword.
Oh well, you get the point.
>>
Don't know if it's the right place but, anyone might now I can't restore my fucking database? This command isn't working

pg_restore --host=localhost --port=5432 --username=postgres --password --dbname=bddSFPD3 --file=\c\Users\xxx\Desktop\dumpDevlopmentGlue\dumpDevlopmentGlue.sql
>>
>>60922442
Learn Design Patterns
>>
>>60923436
Class(unsigned a, unsigned b, unsigned c) : _struct{a, b, c} {};
>>
>>60923586
>
struct class c

Lmao cfags
>>
>>60923554
>Homura::Madoka
What did they mean by this?
>>
what do I do with my raspi besides retropie/kodi/pi-hole?
I don't have anything to hook up to the GPIO pins, so anything besides always-running python scripts or a SSH server/VPN/proxy?
>>
in the next 15 days i have 4 projects to do and 5 finals
and i still play vidya and do everything halfassed in last moment
just fuck my shit up
>>
Learning python. Can someone explain why kind of fuckery is this shit?

words = ("What the 123 fuck")
wordlist = words.split()
for word in wordlist:
if word.isalpha:
print(word + " is alpha")
if not wordlist[2].isalpha():
print("What")
>>
>>60923708
why though, just write funny little programs. you can worry about that later
>>
>>60923436
Make a constructor for Struct and invoke it in your member initializer.
>>
>>60924393
>>60923436

You can also use initializer-list syntax to initialize the struct: _struct({a, b, c})
>>
>>60923808
What? It's perfectly valid C.
>>
>>60924481
No it's not.
`struct class c {..};`
Is not a valid type definition
>>
>>60924481
>class
>>
>>60924499
It's not a type definition, it's a variable definition.

>>60924506
class is not a keyword in C.
>>
>>60924511
And it's not a valid variable definition either.
>>
>>60924511
You can either write struct class or struct c, struct class c is a syntax error
>>
>>60924520
>>60924527
Why don't you actually try running shit though a compiler before you embarrass yourself?
>>
>>60920777
Eat a dick homophobe!
>>
>>60924540
Hi, Scott.
>>
>>60924360

Is it counterintuitive?

https://ideone.com/IsqUMO

Looks ok to me

Split made an array of strings distressing by space
>>
>>60924360

>>> wordlist[2].isalpha
<built-in method isalpha of str object at 0x7fd9b3e9a110>
>>> wordlist[2].isalpha()
False


This answer your question?
>>
>>60924540
Wait, how the fuck is that valid syntax?
Then what is the variable called?
class?
c?

That's pretty retarded that that's valid C syntax.
>>
>>60924555
>That's pretty retarded that that's valid C syntax.
You can pretty much just hit hit keys while blindfolded and still get valid C syntax.
>>
>>60924559
You're confusing it with perl.
>>
>>60924555
"struct class" is the type, "c" is the variable name.
God damn, at least learn C before you try to talk about it.
>>
>>60924569
Oh yeah, I forgot that C cucks require the keyword `struct` before the actual struct name.
LMAO
>>
>>60924579
>Get BTFO
>Try to damage control by changing the subject
>>
>>60924555

>how the fuck is that valid syntax?
Because class is not a reserved word, and therefore can be an identifier. There is a struct type named class. In C, if you don't explicitly typedef a struct, you have to use the word struct in front of the type name every time you declare an instance of it. So if you have a struct named Foo, you would declare an instance like
struct Foo foo;


Hence, we see a lot of stuff like
typedef struct { /* stuff */ } Foo;


Some people prefer to not use typedef, to make it more explicit that the type they are using is indeed a struct type, rather than a union type or an alias for some primitive type.

When you see code that looks like this:
struct class c = { /* stuff */ };


You are declaring a variable named c, whose type is class, and explicitly stating that class is a struct, and not a union or primitive type.
>>
File: maxresdefault (16).jpg (87KB, 1920x1080px) Image search: [Google]
maxresdefault (16).jpg
87KB, 1920x1080px
>tfw you fail to write a one liner to perform a task as simple as printing an array of random value from given range
>tfw you suck so much that you try it in 3 different languages and still can't do it
>>
>>60920031
>compilers are shitty
Nothing new. The silliest of changes can make it inline massive amounts of code.
Iirc a few years ago Clang could handle a reserve and 3 pushbacks without making any function calls. But it couldn't handle a reserve and 4 pushbacks. All statically knowable results of course.

GCC surely has similar flaws.
The moral of the story is that C++ sucks.
>>
>>60924680
>I stake my pride at being able to perform useless tasks
Uh good on ya' anon.
>>
>>60924807
It's not useless, I just needed it for something else. But now it doesn't matter. I want to die.
>>
>>60924822
If a one liner is that much harder to do than the normal multi line code then perhaps the one liner is simply a bad idea from a bad language designer?
>>
>>60924360
>words = ("What the 123 fuck")
Declares a string containing that string
>wordlist = words.split()
Invokes a member function of string called split that splits a string based on a delimiter into a list of strings. The default is whitespace. Read the docs for more info. The result is stored in wordlist here
>for word in wordlist:
For every element in the list do:
> if word.isalpha:
Should probably be word.isalpha() is alpha is a member function once again, read the docs. It determines if the string only has alphabetical characters in it.
> print(word + " is alpha")
You know this.
>if not wordlist[2].isalpha():
If the third (since arrays are 0 indexed) word in the list isalpha
> print("What")
Print "what".
>>
>>60924680

First ask yourself how you'd do it in 10 lines or less, then figure out how to shorten that. Different languages have different tools for pulling off one liners. In Python, you want to abuse list comprehensions. In Ruby, you want to method chain Enumerator methods. All in all, you're just making one giant expression.
>>
>>60921568

> std::cout >>

kys
>>
File: 1489708249744.jpg (193KB, 600x800px) Image search: [Google]
1489708249744.jpg
193KB, 600x800px
Which Lisp dialect should I learn?

>Emacs Lisp
Can I use it for anything else than Emacs?
>Scheme
I've heard its dead.
>Clojure
JVM? Seriously?
>Common Lisp
This one I don't know.
>Racket
Same as above.

Which one /g/?
>>
>>60925084
Haskell
>>
>>60924680
it's ok anon I gotchu
https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.rand.html
>>
>>60925021
>>60925134
I didn't ask for help though, just came to cry about how pathetic I am. I-i'm fine now.
>>
>>60925198
it's ok anon I can't program for shit either, that's why I use libraries by other people
we can have a pity party together
>>
File: 1488412193698.png (271KB, 600x481px) Image search: [Google]
1488412193698.png
271KB, 600x481px
>llvm website is down
>>
>>60925084
https://github.com/hylang/hy
Becuase why the fuck not, there is no practically useful lisp dialect out there anyway, you're still going to waste your time.
>>60925099
Unironically this, at least learning Haskell makes your a better programmer overall.
>>
>>60922450
THIS
>>
>>60925084
John Carmack has said good things about Racket.
>>
>>60925084
>wanting to learn (l(i(s(p))))
>>
in c++ do I need an extra source file for mostly data heavy classes? can I not just put and define the few methods into the header?
>>
>>60925287
>put and define the few methods into the header
This is not unheard of, the only issue is if your file is included in many other file it might slow down parsing.
>>
>>60925242
>at least learning Haskell makes your a better programmer overall

>>60925281

That's exactly why I want to learn Lisp - I'm treating this as a programming exercise.
>>
>>60925287
> can I not just put and define the few methods into the header?
You can, but if your class has static fields you need to put them in some .cpp file because they need to have space reserved for them. Alternatively, you can use C++17's static inline variables.
>>
Will learning common lisp make me a better programmer?
>>
>>60925341
Lisp is a confusing mess. It's dynamically typed, have no syntax, its macro system is primitive and error-prone (except for scheme/racket). It has nothing to teach you. "Lisp is a super powerful secret weapon" is a meme from the 80s, when people had no Python, Ruby, Haskell, Scala, Rust, etc., and compared Lisps to stuff like pre-ANSI C. Nowadays learning Lisp is a waste of time unless you have a historical interest.
t. someone who fell for the meme back in the 2000s
>>
>>60925405
t. someone who doesn't know what they are talking about
>>
>>60925474
nice rebuttal
>>
>>60925397
Learning anything will make you a better programmer. Even underwater basket weaving.
>>
>>60925480
t. brainlet
>>
>>60925405
Can't argue with you, because I don't know Lisp, but I'm pretty sure I should try it myself.
>>
I have a homework about programming a RGB class in conjunction with three Classes which have no documentation whatsoever.

What should I do in order to assert their usefulness and method usefulness as fast as possible?

I have applied javap on all these classes, but they don't really tell me much about what they do:

https://pastebin.com/s0PiGTe5

I am normally also able to ask a WhatsApp group where other CS students are helping each other with tips, but my phone broke and the new one hasn't arrived yet.....
>>
>>60925492
Don't listen to someone who says learning is a waste of time.
>>
>>60925492
You could try, but stay vigilant not to be caught in the eternal lisp circlejerk and not to turn into this guy: http://winestockwebdesign.com/Essays/Lisp_Curse.html . Oh, and be sure to learn Haskell afterward.
>>
>>60925528
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
>partial functions pervade the language
>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
>>
>>60925528
>http://winestockwebdesign.com/Essays/Lisp_Curse.html

>Lisp is so powerful that problems which are technical issues in other programming languages are social issues in Lisp.

Damn, that's a mouthful.
>>
>>60925492
Learning is good, but never associate yourself with people who think one tool is enough for everything.
Programmers are mental craftsmen and you can't just hammer a nail into wood with a cutter.
Craftsmen need many good tools in their box for every problem to be prepared.
>>
>>60925084

>Emacs Lisp
It is mostly used in emacs, so definitely learn if you want to use emacs. GNU Guile supports it too so you can use it outside emacs.
>Scheme
The community is small but there is some activity here and there. They are also working on a new standard r7rs. The implementations are too compatible with each other but the new standard hopes to bring them closer.
>Clojure
Probably the most popular one at the moment with some pretty interesting features, you have the highest chance of finding a job using clojure
>Common Lisp
Community is still there, the quicklisp package manager is helping it bring some activity. Has probably the best tooling
>Racket
Still active and has people like Carmack using it to prototype stuff. Has great tools for developing languages and learning to program
>>
File: lisp_vs_haskell.png (68KB, 693x426px) Image search: [Google]
lisp_vs_haskell.png
68KB, 693x426px
>>60925548
This is lisp fanaticism for you.
It's even funnier when you open "About me" and learn he's actually an unemployed web-monkey who makes primitive sites for living and who's github is entirely in JS. So much for Lisp being the most powerful language out there.
>>
>>60925545
Idris fixes most of it and adds dependent types on top.
>>
>>60925601
And decades of building time.
>>
>>60925607
And lots of free time to do said building, as you will never find a job using it.
>>
>>60921568
>not sticking to 80 characters per line
Hitler was right.
>>
>>60925607
You're not supposed to write programs longer than 1k lines in Idris anyway.
>>
>>60925581
Thanks.
>>
>>60925616
>sticking to 80 characters per line
Yeah, I use asbestos in my ceiling panel, too, gramps.
>>
>>60919988
What is the most tolerable language used in industry? Aka something that you don't mind writing in on the job.
>>
>>60925641
You're not going to get any good responses without more information.

What trade do you apply programming to? What type of programming do you do?

I could tell you R, and just make the assumption that you're a data analyst.
>>
>>60925631
I like having the option of printing my source code on paper, especially if it's shit that might end up as part of a lab report or documentation. Plus it allows me to have multiple different files open side-by-side, plus a debugger etc. on the same screen.
It's just more readable as well.
>>
>>60925641
OCaml my sis
>>
>>60925641
Like, widely used, mainstream language? C#.
>>
>>60925641
I put Brainfuck on my CV because fuck it.
And when you spend all day writing program code, it better be readable.
That's why I unironically like working in Python.
>>
I'd like to learn Lisp as my first programming language.

I attempted once before while using Debian, and early on I made some unidentifiable error that following the guide to the letter did not fix, and that later stages in the guide assumed had worked.

I think I remember having to choose between a limited number of Lisp variation installs and an even more limited number of guides to learning the programming language, so basically I ran into a brick wall and had no way to proceed.

I'm currently using Windows 10, not out of preference. How should I go about learning Lisp now? I'd prefer the most generic version of Lisp that has the most tutorials available. Like, more than one linear and inflexible tutorial would be nice.
>>
>>60925652
It's an arbitrary limitation. Something like 120 would be more comfortable, considering 80 characters isn't even halfway across a 1080p monitor turned in portrait layout.

I can't imagine having less than two monitors, and myself and my entire team has 3 monitors. The only other option would be larger 1440p+ monitors.

It's current year, anon.
>>
>>60925618
No matter how terse you get, youll eventually run into 1k given large enough scope. But at that point i doubt idris was the sane choice to do it in, in the first place.
>>
>>60925669
Install emacs, SBCL, and SLIME. Get quicklisp and paredit too. After this, (ql:quickload '(clhs docbrowser)). Read Practical Common Lisp.
>>
>>60925641
Without knowing anything else, I'd say C# is the most tolerable general-purpose language right now.
>>
File: scrot_20170616_144746.png (44KB, 2560x1600px) Image search: [Google]
scrot_20170616_144746.png
44KB, 2560x1600px
>>60925674
80 characters are perfect for A4 paper in portrait mode using an 11pt nonproportional font.
On a T420, you can fit about 2 windows of 80 characters each side-by-side so that's nice.
On my work PC I often need three columns of windows (source, source, debugger or similar), which doesn't work with 120 characters even if you have a 2560 wide monitor (pic related).
>>
File: big black CoC.png (232KB, 725x1471px) Image search: [Google]
big black CoC.png
232KB, 725x1471px
Thanks, github!
>>
>>60925771
>Here, let me show you how I apparently can't afford, or am too stubborn to acquire more than 2560 horizontal pixels!
>>
>>60925806
>death to fascism
>lets police behavior and punish people for misbehaving
lmao
>>
>>60924157
You already fucked your shit up anon
>>
>>60925767
C# is nothing more than an impure Micro$haft Java.
>>
>>60925819
It's not just about fitting the characters on the screen -- I could just reduce font size. It's also that really long lines tend to be more difficult to read. 80 characters has been established because it's just more readble. I'll admit 120 would be OK in that regard but why sacrifice the ability to print your code, or to put more than one window with source on your laptop? Do you even program anywhere but your mom's husband's basement?
>>
>>60925806
That shit Open CoC made by GitHub staff is shit. Microsoft has a pretty gr8 1 based on it with all the bullshit removed though.
https://opensource.microsoft.com/codeofconduct/
>>
>>60925846
This hasn't been true for 15 years already.
>>
>>60925806
>recommended standards
>recommended
Literally who gives a shit?
License and README make sense. Ignore the rest. Who cares.
>>
>>60925852
>Do you even program anywhere but your mom's husband's basement?
I have a fairly solid hunch that I've been programming in a professional environment as long as, if not longer than you. I've seen the days where 80 characters would have made much more sense.

I never print code. I don't see the point. Reports in my organization are not passed around on paper.

I will agree that it can get cumbersome on a small laptop, but the times that I'm programming seriously on a small laptop is rare, and there are convenient hotkeys to easily switch back and forth, or even Peek Definition if I just want to compare an implementation to what I'm calling.
>>
>>60925858
>replying to low-quality posts

The ensuing conversation isn't going to go anywhere productive, anon.
>>
File: 50%.png (24KB, 1003x565px) Image search: [Google]
50%.png
24KB, 1003x565px
>>60925806
Oh noes.
>>
I realised that I've been tagging my bookmarks in firefox incorrectly all this time. I've used semicolons instead of comma's. I'm looking to fix this with notepad ++perhaps?
Exported bookmarks in .html and the tag description shows
TAGS="music; classic; Italy"

Some bookmarks have 1 tag, others have 5 or more. how do I change the ; into a , without messing up the rest of the exported file.
I thought about doing a replace all "TAGS="*; *" with "TAGS="*, *" but that wouldn't take into account the number of tags.
>>
>>60925907
install gentoo
afterwards use sed
>>
>>60925887
>I have a fairly solid hunch that I've been programming in a professional environment as long as, if not longer than you
Possible. That does not make my arguments invalid.
>Reports in my organization are not passed around on paper.
The same applies to pdf files. You either stick to 80 characters, reduce the font size beyond the readable or pring in landscape which is retarded (wastes a lot of space because not every line has the maximum length, page break every few lines).
>>
>>60925935
>That does not make my arguments invalid.
It was a direct response to:
>Do you even program anywhere but your mom's husband's basement?

>The same applies to pdf
We don't share code in print format. Interested parties are given direct links to the lines of code in question that are hosted in version control online.
>>
>still using CoChub
>>
>>60925952
Disgusting. Nothing better than nice-looking LaTeX documentation with inline listings.
>>
>>60925925
Without the code to use as regular expression sed won't be of any help I'm afraid.
>>
File: 1461285326796.jpg (77KB, 658x632px) Image search: [Google]
1461285326796.jpg
77KB, 658x632px
>>60925806
> Include a COC in the source code

This is wrong. What next? Acceptable usage agreements.

This is not what free software is supposed to be :-(
>>
>>60925963
fucking seriously?
$ sed 's/; /,/g' tmpfile
>>
File: so many COCs to choose from.png (157KB, 1894x1757px) Image search: [Google]
so many COCs to choose from.png
157KB, 1894x1757px
Which CoC should I pick for my zero-stars project?
>>
>>60926007
/dpt/ code of conduct
>>
>>60926007
1. Don't be a faggot
>>
File: Capture3.png (366KB, 800x673px) Image search: [Google]
Capture3.png
366KB, 800x673px
A javascript raytracer in WebGL, pic related is what I've done so far
I've implemented today lambertian and perfect mirror surfaces, glossy materials and fresnel reflectance is next

I've come to the physical realization that perfect mirrors are indeed 'white objects'

Writing raytracers is fucking addictive, if only javascript wasn't such a mess to work with..
>>
>>60926007
"Only Whites and a few Asians" Contributor Covenant
>>
>>60926091
Should just port it to OpenGL sis. It's not much work if you already have all your shaders ready apart from doing the windowing. You'll get core profile and way better support for your hardware.
>>
>>60926086
That's unironically homophobic tho, I think "1. Don't be an asshole." should be better.
>>
Can someone explain auto to me in c++?
>>
>>60926119
>>60926086
I've always used "Don't be an asshat."
>>
>>60926091
That's a cool thing for a portfolio.
>>
>>60926127
Infers type for the lvalue from the lrvalue's already known type.
>>
>>60926118
I know, it's such a shame we're constrained to this horrible language for the web (not for long hopefully)
>>
>>60926155
JS is here to stay
>>
So, if I have a java class and it looks a bit like this:

class Fruitmix{
int apple, pumpkin, kiwis;

Fruitmix(int apple, int pumpkin, int kiwi ){
apple = this. apple;
pumpkin = this.pumpkin;
kiwi = this.kiwi;
}

public static void main(String [] args){
Fruitmix mix = new Fruitmix(23,45,1);
Fruitprint.println(mix);

}


}


And the result is still 0,0,0 and there is no change shown.
What have I done wrong?
>>
File: 1489911722053.jpg (123KB, 2048x1025px) Image search: [Google]
1489911722053.jpg
123KB, 2048x1025px
>llvm website is up
>>
>>60926127

If the compiler can deduce what the type of the right hand side is, you don't have to type it again.
>>
>>60926119
>That's homophobic
Good.
>>
>>60926178
you don't have a tostring method for your Fruitmix
>>
>>60926145
yeah but why do you use it? the examples ive seen its just used in the main after being declared in the initialiser. Is it just one of many redundacies in c++?
>>
>>60926091
Link to source code?

>>60926119
disgust != fear
>>
>>60926173
It is, but I see WASM becoming the norm in the future
It will be the end of the open source web, but at least we won't be constrained to js
>>
>>60926201

it's so you don't have to repeat yourself.
auto foo = new VeryLongTypeName<WithTemplateParameters>();

It should be pretty clear what the type of foo is, so why type it again?
>>
>>60926201
Because in C++ typenames can become long and disgusting. Typing auto is easier than typing std::optional<std::vector<string>::iterator>
The syntax for std::function templates is way worse
>>
>>60926204
will be on my github after fresnel reflectance is implemented
reverse google to find my twitter if you really care
>>
>>60926220
VeryLongTypeName<WithTemplateParameters> foo = {};
>>
>>60925963
Also, if your file contains semicolons that you want to stay that way, this short Python script will check if a line begins with ' TAGS=" ' before replacing all semicolons in it. You can modify it to search for any occurence of TAGS within the line, and only replace from the following " to the next ".

import sys
import re

if not len(sys.argv) == 3:
raise AttributeError("Script takes exactly 2 arguments.")
infile = open(sys.argv[1], "r")
outfile = open(sys.argv[2], "w")
while True:
buf = infile.readline()
if buf == "":
break
buf = buf[:-1]
if re.match(r"TAGS=\".*", buf):
buf = re.sub("; ", ",", buf)
outfile.write(buf + "\n")
infile.close()
outfile.close()


Use like this:
$ python rp.py infile outfile
>>
>>60926228

not possible if you want to use factory functions rather than directly calling ctors
auto foo = make_tuple(1, 2.0, 'd'); 

Also
= {}
Gross.
>>
>>60926261
>{}
Bagina :-DDD
>>
>>60926272
>>>/trash/
>>
>>60926297
Make me.
>>
is there anything as safe as const if i need to update it once a fortnight? or even a way to have a source file that can be compiled remotely?
>>
>>60926355
just set it to immutable and make a new immutable copy if its that infrequent.
>>
>>60926127
>auto in C++
Proof that C++ faggots are brainlet webdevs
>>
File: 1489707008288.jpg (93KB, 500x625px) Image search: [Google]
1489707008288.jpg
93KB, 500x625px
Why people in /dpt/ hate web developers?
You can't even ASK about languages such as Ruby without being shit on by faggots full of hubris.
>>
>>60926257
Thanks but it return an error:
Traceback (most recent call last):
File "rp.py", line 9, in <module>
buf = infile.readline()
File "C:\Programs\Python\Python36-32\lib\encodings\cp1252.py", line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 5297: character maps to <undefined>
>>
>>60926413
>webshit
is obligatory, like calling haskell slow,
or python a baby language,
or sepples an abomination
or rust a meme
or C for cniles
just ignore it and ask the question.
>>
>>60926442
>sepples an abomination
C++ is God's mistake
>>
>>60926453
The sad thing is that the closest thing to a replacement is Rust.
>>
>>60926389
it has to be done by users. Im thinking of having a launcher thats essentially a compiler that tests to see if the value is still current and then launches the program if it is, but if it isnt it edits the source and then compiles it (from a server). Obviously this opens up other security issues
>>
>>60926438
Honest question: why are you even here instead of the /sqt/? The error is obviously that Python can't handle a character in the input file, i.e. it contains non-ASCII characters. Make sure the file is plaintext, modify the program so it can deal with non ASCII input or suck it up and change the tags by hand.
>>
>>60926492
sounds like youre not following KISS
>>
>>60926413
i dont but theyre usually bad at optimisation and cross platform compatability, despite that being most of what they do. Front end devs are especially garbage since their job doesnt actually have them doing much work most of the time
>>
>>60925198
don't use windows
use linux and a utf-8 terminal
>>
>>60926506
probably true, i could just use a variable and test it from within the program itself
>>
>>60926504
I did ask there first.I figured this would be something programmers deal with regularly so I asked here afterwards.
>>
>Has anyone here had a regular office job and automated things with programming?

Stories?

I wouldn't tell anyone and use it to slack off.
>>
>>60926584
My regular office job is automating shit by programming so yes.
>>
Ah yes

>actually unity is highly optimized, the large size is just the base engine it stays that size almost forever after that unless you are a retard and use 4k textures
>The battery usage is irrelevant, games are supposed to drain the battery. If a game has low energy consumption it means it's shit because it reqiries almost no CPU or GPU time due to sit graphics or scarce game mechanics
>>
>>60926675
>Good games need high performance graphics
>>
>>60926584
Depends on the job. I worked as a sysadmin for a company that does IT work for many companies, so obviously everything had to be automated if possible.

Nowadays, most of the "automation" is creating data links between completely unrelated systems. For example, accounting was manually updating machine counts for all clients. Rather than this, I've got a small application that constantly updates the counts in the accounting system from the IT system running all day, every day.

Other things, such as automatically filling partial days with "Admin" time slots in my time sheets help me with 10-20 minutes of busy work every week.
>>
>>60926675
meanwhile I'm trying to find a game as addictive as nethack
>>
>>60926703
>Good toilets need high performance poops
>>
File: Haskell-purple.sh.png (16KB, 650x650px) Image search: [Google]
Haskell-purple.sh.png
16KB, 650x650px
>>60926789
>>
File: tumblr_o54eisWdKc1tgrtbho1_1280.png (222KB, 521x469px) Image search: [Google]
tumblr_o54eisWdKc1tgrtbho1_1280.png
222KB, 521x469px
Just started coding this shit is amazing what the fuck have I been doing wasting my life
>>
>>60926826
Kill yourself.
>>
>>60926826
It gets more fun from here anon! Be sure to try lots of fun new things. Don't listen to people on /g/ when they try to dissuade you from doing something, especially if you're having fun and you're learning
>>
>>60926911

thx beautiful, love ya :^)

the programming community is actually really nice
>>
>>60926907
Please don't bully newfriends
>>
>>60926941
>>60926929
>>60926911
Kill yourself, faggots.
>>
>>60926941

ty gnight
>>
File: magit.png (295KB, 1380x718px) Image search: [Google]
magit.png
295KB, 1380x718px
>in magit, you can stage and unstage individual diff hunk and even arbitrary parts of files
Why it took me so long to actually read the manual.
>>
>>60927049
This is so useful desu, I love magit. I used to be a console purist for Git but honestly magit just makes everything faster and more convenient.
>>
Tell me /g/, why aren't you using the programming language with anime in its source code?
https://github.com/rust-lang/rust/search?utf8=&q=madoka
>>
>>60927094
But I do.
>>
>>60927094
Holy fuck, this is some next level autism.
>>
>>60926675
And if general game engine solutions were good they'd produce good games with them. There's almost no good games anywhere made like that.
>>
>>60922416
ghc has a c backend
>>
>>60927439
There's some good shit being made with Unreal Engine. I was surprised to learn that a lot of my favorite games were made with Unity or XNA/MonoGame
>>
File: shameonanigga.png (136KB, 507x566px) Image search: [Google]
shameonanigga.png
136KB, 507x566px
>>60919988
So i'm learning PHP and i'm looking at switch statements right now. What I don't understand is the purpose of using a switch statement instead of just using if,elseif,else. Is there some advantage i'm missing or is it actually just the same thing.
>>
>>60927868

It's the same thing, but it's sometimes more readable and can illustrate your intent better. Like choosing between a while and a for loop.
>>
>>60927868
Idk about PHP but a lot of languages have "fallthrough", where you can have a switch continue executing the options below it.
>>
File: 1464042653587.jpg (667KB, 2048x1536px) Image search: [Google]
1464042653587.jpg
667KB, 2048x1536px
>>60927887
>>60927915
Heres a majestic pic of richard stallmastermind for thanks.
>>
>there are people who unironically rely on type systems to reduce the amount of mistakes their programs have
>>
>>60928128

>I never make any mistakes
>>
>>60928128
Trolling?
>>
File: heheh.png (149KB, 360x406px) Image search: [Google]
heheh.png
149KB, 360x406px
Followed almost every suggestion the google search has given me and I still haven't figured out why my computer won't open .jar files. I've literally spent hours trying to solve this tiny ratshit problem.
>>
>>60928128
>there are people who unironicaly spend more time on writing tests than on writing the actual code
>>
>>60928179
you wanna open or run a jar file?
>>
>>60928179
This really belongs in /sqt/, but this general is dead. Do you have Java installed? Post the output of
java -version
>>
To check if an integer is even would it be more efficient to check the first bit?
>>
>>60928199
you'd check the lowest bit, yes
>>
>>60928206
i mean more efficient than using the modulus operator
>>
>>60928199
Depends entirely on the platform. In general, don't try to be clever.
>>
>>60928199

if (!(n & 1))
>>
>>60928199
Just check whether its gcd with every even integer up to itself is 2.
>>
>>60928193
Run.
>>60928194
1.8.0_131
>>
>>60928259
Are you sure youre trying to run executable jars and not libraries?
>>
>>60928292
Pretty sure
>>
>>60928259
Open a shell, and type
java -jar <jarfilegoeshere>
>>
>>60928302
have you tried right clicking and opening with java
>>
>>60919988
I'm implementing a portable coverter from intel to at&t x64 assembly
>>
>>60925674
>>60925729
Check out portacle to have it all easily installed for you.
>>
>>60920527
I love the arararararagi joke.
It's nice to see we're all comfy af monogatari fans here
>>
>>60928330
Yeah
>>60928320
It gives me:
no main manifest attribute in, in RomanNumeralConverter.ja
>>
>>60928376
reboot in safe mode, could be a virus
>>
>see classes and object part of the Kotlin reference
>immediately decide to dump the language
phew good riddance
>>
>>60928426

>Look at JVM language which claims to be "Java but better"
>Get Java bullshit
Who'd have thunk?
>>
>>60928436
I got a bit optimistic when I checked the cool features at the non-poo parts (functions, arrays, data types etc) I should've listened to /g/ I guess
>>
>>60928426
you should've dumped it at the
>jvm
part
>>
what are good languages to learn to get a job?
>>
new thread when? :3
>>
>>60928528

Everything that /dpt/ shits on.
>>
File: 1R7XXkJ_d.jpg (23KB, 625x656px) Image search: [Google]
1R7XXkJ_d.jpg
23KB, 625x656px
>>60920777
>>
>>60928534
so php?
>>
>>60928541
I don't know about PHP actually, there are a ton of alternative web stacks. And PHP is a truly awful language.
>>
NEW THREAD!!

>>60928630
>>60928630
Thread posts: 323
Thread images: 39


[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.