[ / / / / / / / / / / / / / ] [ dir / random / 93 / biohzrd / hkacade / hkpnd / tct / utd / uy / yebalnia ]

/prog/ - Programming

Programming

Name
Email
Subject
REC
STOP
Comment *
File
Password (Randomized for file and post deletion; you may also set your own.)
Archive
* = required field[▶Show post options & limits]
Confused? See the FAQ.
Options

Allowed file types:jpg, jpeg, gif, png, webp,webm, mp4, mov
Max filesize is16 MB.
Max image dimensions are15000 x15000.
You may upload5 per post.


File: 1425399186599.gif (2.34 MB,450x258,75:43,1420807662757.gif)

cdbcf9 No.1529 [View All]

What is the fastest way to program?
7 posts omitted. Click [Open thread] to view. ____________________________
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.1667

>>1558


for those who don't know what NIH is like I didn't:
https://en.wikipedia.org/wiki/Not_invented_here
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.1680

Use vim
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.1683

metaprogramming
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.1689

>>1683
this, in part.
Use as many abstractions as you can.
In fact think in high and lofty ideas while letting the compiler figure out the nitty gritty details.

Its called functional programming.

As long as you dont need every single CPU cycle its the best thing to be as productive as possible.

10 lines of Haskell code can easily encompass 200-1000 lines of C code.

Lisp is even better because of its incredible macro system.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.1690

>>1689
>10 lines of Haskell code can easily encompass 200-1000 lines of C code.

What the fuck, citation needed.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.1758

Vim + makefiles :3
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.1766

I like to use Lisp with a REPL and a live image of my program. It makes testing single functions extremely easy, and I can iterate over different designs for parts of the system without having to recompile the entire program.

There isn't really any reason why other languages shouldn't have this functionality. I'd love to see something like SLIME for C or C# or something.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.1767

>>1690
Not haskell, but:
https://www.youtube.com/watch?v=5FlHq_iiDW0
Compare his solution to this:
http://martinfowler.com/articles/languageWorkbench.html

And that's just a relatively simple example.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.1801

>>1690
See for example:
>http://rosettacode.org/wiki/LZW_compression#C
versus
>http://rosettacode.org/wiki/LZW_compression#Haskell

I'm not sure why that anon picked Haskell and C though; comparing the
two is very much like comparing a car to a pile of car parts:
>SEE! It takes more effort to drive a car if you have to assemble it first!

Check out the D, Go, or C++ code for a more fair comparison.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.1804

>>1690
Still not as succinct as Mathematica.

As for speed, I would say to go with a dynamic and loosely typed language and glue a bunch of libraries together. And be a text editor wizard.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.1817

>>1767
Fowler and co are the biggest bunch of wankers in the history of programmiing.

Proof: 1. Everyone who has written a book about UML is a wanker. 2. MF and his cronies are up to their ears in UML including writing books about it. 3. MF is a wanker. QED.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.1898

>>1546
Who does that. You program shit and debug until it works. You have not failed. You've just found 10,000 ways that won't work.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.1900

>>1689
> 10 lines of Haskell code can easily encompass 200-1000 lines of C code.

1 line of C code can easily encompass 200-1000 lines of C code.


ThousandLineFunctionDefinedElsewhere();
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.1905

>>1689
yea and no, use abstractions if:
1. it makes sense to
2. it wont fuck you over later
3. it wont chain you to a vendor

you can always strip some out later if you need more performance.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.1907

>>1900
>advanced shitposting
yeah, no.
In C you actually have to write those 1000 lines somewhere, in Haskell you dont.
Or put in another way: Its the compiler that writes them for you.

Take for example this piece of code, 2 lines, that takes arbitrary sets and returns the power set:

powerset :: [a] -> [[a]]
powerset = filterM (\_ -> [True,False])


Now try to write an Algorithm in C that does the same.
(note the _arbitrary_ set, not just a set of ints)
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.1908

>>1907
Oh yeah, forgot the source:
http://qr.ae/dXzkW (Quora)
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.1924

>>1907

Or put it another way: SPJ writes them for you.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.1926

>>1924
as a new programmer should i then start with haskell? and how much time comparatively between haskell and say C, even though, every suggestion i've seen leans towards starting with C.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.1928

>>1926
Starting with Haskell for a new programmer is definitely a great idea.
(Stop laughing guys)
In all seriousness, most critics of Haskell are against it because its just so different from C.
If you dont know any C-like languages, you will have less to unlearn.

Also the day you do learn C, you will be much better in it on account of having been trained to mind the state and side effects, for example.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.1929

>>1926
>>1928
Starting with Haskell for new programmers is a terrible idea. As is starting with Haskell for experienced programmers.

Start with ruby or python. Eventually move on to C. Haskell: not even once.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.1930

>>1929
>ruby
>literally shitster tier.

Python ok, but its the same as starting with C, paradigm-wise.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.1932

>>1930
Yes, you start in the "programming" paradigm, which is preferable to the "getting cucked by mathematicians" paradigm.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.1935

>>1929

i use C, and imma let you finish, but GHCi is one of the best calculators of all time
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.1940

>>1932
Bullshit.
Once he knows Haskell he will be the one doing the cucking of limpdicked imperative codemonkeys.

Its true, Simon Peter Jones once proved it using formal verification tools.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.1941

>>1929
>>1932
>I dislike haskell, because it was too complicated for me. Trust me on this, I totally am the right person to ask, when it comes to haskell.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.1949

>>1926
>and how much time comparatively between haskell and say C, even though, every suggestion i've seen leans towards starting with C.

Starting with C is learning programming bottom up, starting with Haskell is learning programming top down.

In general, high-level languages (like Haskell) give you a kind of instant gratification.
A lot of them are interpreted, which means you can actually "interact" with them directly, and you don't have to worry about things like whether or not you're allowed to access this or that address in memory.

Low-level languages (like C) tend to be pretty rough at first, but learning one also means you get a very, very in-depth understanding of how computers work (which includes, by the way, other programming languages, a number of which are actually written in C).


Don't worry Anon, soon you too will be able to make elitist rants about your programming language of choice.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.1954

>>1555
srslee
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.1955

>>1949
Haskell is the opposite of instant gratification.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.1958

If they exist for what you need to do and performance isn't an issue, Python libraries. Otherwise, Common Lisp with emacs + SLIME. Use macros.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.1978

>>1955
Haskell is the opposite of gratification period
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.3504

>>1529

Fapping to your waifu

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.3505

>>1926

Start with either C or C++ (although C is a better idea). It'll help you understand how to program better in general and how a computer works.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.3506

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.3515

YouTube embed. Click thumbnail to play.

Common Lisp with SLIME is a really good way to incrementally develop. It's even faster than developing alongside the REPL because the REPL, your program (running), and your source code, are all linked together quite nicely allowing you to have an insanely fast feedback cycle.

Also, use macros generously.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.3521

>>1667

>im guilty of NIHism

>didn't know it was a thing until now

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.3523

>>3521

"Guilty" ? So wanting to do things your own way is a crime now? What a retarded article, probably written by people who have never accomplished anything in their lives, looking to put down the people that did.

OP: Don't worry about fast, worry about effective.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.3620

>>1529

>aquire open software

>rename it

>sell it to normies

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.3624

>>3620

/thread

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.3625

Im in my first semester of CS. They are teaching us to use MVVM to make our programs. It just feels like some standardised formulaic shit that limits creativity to me. Please tell me I'm wrong.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.3626

>>3625

Both teachers are pajeets btw, so I cant really ask about anything.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.3627

Use a tiling window manager, use vim and turn off the internet. Also, use a non-retarded keyboard layout.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.3629

>>3627

Use the qgmlwb layout.

QGMLWBYUV;[]\

DSTNRIAEOH'

ZXCFJKP,./

http://mkweb.bcgsc.ca/carpalx/?full_optimization

TWMs are good. I suggest dwm or xmonad.

You don't have to turn off the Internet, just uninstall any web browsers.

You should also use tmux, it works well with dwm or xmonad.

st works well with the above combos as well, so I suggest using it as well. Well.

I suggest NeoVim over Vim.

More tips: throw away your mouse, use CLI, use mksh, use ErgoDox, use two small 16:10 monitors in portrait, use dark text on light background color schemes for better readability (black on yellow may be the best), use Verdana (ranked high in readability, good for dyslexics), use Inconsolata (there's not a lot of studies on monospace typefaces but Inconsolata is suspected to be among the best), use redshift for eye strain

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.3885

>>1898

>you program shit and debug untill it works

No what you've actually found is 1 way to waste the most amount of time.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.3895

>>1930

>ruby

>shitster tier

i do both ruby and python. ruby is much more fun to write because it has a prettier syntax and doesn't suffer from MUH ONE WAY TO DO IT shit tier philosophy. python is still great to write and doesn't suffer from being put in the web dev corner and therefore lacking libs in the sysdev realm. it both has its uses.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.3900

File: 1454483499483.png (499.58 KB,954x1022,477:511,a0VsOsO.png)

>>3523

>So wanting to do things your own way is a crime now?

…No… That's not at all what it means…

>What a retarded article, probably written by people who have never accomplished anything in their lives

You didn't even read it, did you? At no point does it even imply you should make everything yourself. If you can't so much as grasp basic psychology and communication then what the fuck are you doing discussing it?

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.3901

>>3625

I'm still new to MVVM as well, but once you start working in bigger projects it has its benefits.

I have to work with C#/.NET and XAML using WPF. While it's still a pain to implement, it makes development of multi-lingual text resources with separated UI and data access bearable and maintainable. When you have to change to another database, you can switch out the entire data access stuff out for something else. Same with the UI, especially when you get a customer in a new country.

What I can't get around is VS12 and TFS (which I have to use); I think they suck huge cock.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.3906

>>3625

It's useful for webdev, on pages that are way more complicated than they need to be.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.3912

>>1898

This! Pretend that you're going to compare a lot of numbers in order to find out the highest etc.

Now try to do that without matrixes.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.4071

>>1532

Found the autistic retard.

lrn2steno, faggot.

>>1529

Shitting out code in high-level languages and copying and pasting shit from other people while you import 90 fucking libraries and modules.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.

cdbcf9 No.4121

>>1529

Think fast and type fast.

Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.



[Return][Go to top][Catalog][Nerve Center][Random][Post a Reply]
Delete Post [ ]
[]
[ / / / / / / / / / / / / / ] [ dir / random / 93 / biohzrd / hkacade / hkpnd / tct / utd / uy / yebalnia ]