Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
PuTTY riot
Nov 16, 2002
:synpa:

Adbot
ADBOT LOVES YOU

Bloody
Mar 3, 2013

jony ive aces posted:

with c# you can:

make front-end web apps ( asp.net )
make "native" iPhone app ( xamarin )
make video games ( unity )
make desktop apps ( some hellish bullshit )

actually wpf makes desktop apps easy

soy
Jul 7, 2003

by Jeffrey of YOSPOS
just learn a couple whatever, literally any programmer job will expect that you can pick up a new language and be churning out passable code in a couple months.

the more useful question is what technologies should I know?

suffix
Jul 27, 2013

Wheeee!
you should know jack and dick

Origin
Feb 15, 2006

If you don't know any computer languages, I recommend starting with Python. It is cleanly designed, well documented, and relatively kind to beginners. Despite being a good first language, it is not just a toy; it is very powerful and flexible and well suited for large projects. I have written a more detailed evaluation of Python. Good tutorials are available at the Python web site; there's an excellent third-party one at Computer Science Circles.

I used to recommend Java as a good language to learn early, but this critique has changed my mind (search for “The Pitfalls of Java as a First Programming Language” within it). A hacker cannot, as they devastatingly put it “approach problem-solving like a plumber in a hardware store”; you have to know what the components actually do. Now I think it is probably best to learn C and Lisp first, then Java.

There is perhaps a more general point here. If a language does too much for you, it may be simultaneously a good tool for production and a bad one for learning. It's not only languages that have this problem; web application frameworks like RubyOnRails, CakePHP, Django may make it too easy to reach a superficial sort of understanding that will leave you without resources when you have to tackle a hard problem, or even just debug the solution to an easy one.

If you get into serious programming, you will have to learn C, the core language of Unix. C++ is very closely related to C; if you know one, learning the other will not be difficult. Neither language is a good one to try learning as your first, however. And, actually, the more you can avoid programming in C the more productive you will be.

C is very efficient, and very sparing of your machine's resources. Unfortunately, C gets that efficiency by requiring you to do a lot of low-level management of resources (like memory) by hand. All that low-level code is complex and bug-prone, and will soak up huge amounts of your time on debugging. With today's machines as powerful as they are, this is usually a bad tradeoff — it's smarter to use a language that uses the machine's time less efficiently, but your time much more efficiently. Thus, Python.

Other languages of particular importance to hackers include Perl and LISP. Perl is worth learning for practical reasons; it's very widely used for active web pages and system administration, so that even if you never write Perl you should learn to read it. Many people use Perl in the way I suggest you should use Python, to avoid C programming on jobs that don't require C's machine efficiency. You will need to be able to understand their code.

LISP is worth learning for a different reason — the profound enlightenment experience you will have when you finally get it. That experience will make you a better programmer for the rest of your days, even if you never actually use LISP itself a lot. (You can get some beginning experience with LISP fairly easily by writing and modifying editing modes for the Emacs text editor, or Script-Fu plugins for the GIMP.)

It's best, actually, to learn all five of Python, C/C++, Java, Perl, and LISP. Besides being the most important hacking languages, they represent very different approaches to programming, and each will educate you in valuable ways.

But be aware that you won't reach the skill level of a hacker or even merely a programmer simply by accumulating languages — you need to learn how to think about programming problems in a general way, independent of any one language. To be a real hacker, you need to get to the point where you can learn a new language in days by relating what's in the manual to what you already know. This means you should learn several very different languages.

I can't give complete instructions on how to learn to program here — it's a complex skill. But I can tell you that books and courses won't do it — many, maybe most of the best hackers are self-taught. You can learn language features — bits of knowledge — from books, but the mind-set that makes that knowledge into living skill can be learned only by practice and apprenticeship. What will do it is (a) reading code and (b) writing code.

Peter Norvig, who is one of Google's top hackers and the co-author of the most widely used textbook on AI, has written an excellent essay called Teach Yourself Programming in Ten Years. His "recipe for programming success" is worth careful attention.

Learning to program is like learning to write good natural language. The best way to do it is to read some stuff written by masters of the form, write some things yourself, read a lot more, write a little more, read a lot more, write some more ... and repeat until your writing begins to develop the kind of strength and economy you see in your models.

I have had more to say about this learning process in How To Learn Hacking. It's a simple set of instructions, but not an easy one.

Finding good code to read used to be hard, because there were few large programs available in source for fledgeling hackers to read and tinker with. This has changed dramatically; open-source software, programming tools, and operating systems (all built by hackers) are now widely available.

Sweevo
Nov 8, 2007

i sometimes throw cables away

i mean straight into the bin without spending 10+ years in the box of might-come-in-handy-someday first

im a fucking monster

Origin posted:

I used to recommend Java as a good language to learn early

lmao stopped reading right there

du -hast
Mar 12, 2003

BEHEAD THOSE WHO INSULT GENTOO

hahahahahah pro.fuckin.click

akadajet
Sep 14, 2003

Bloody posted:

actually wpf makes desktop apps easy

lm loving ao

Dr. Honked
Jan 9, 2011

eat it you slaaaaaaag

Sweevo posted:

lmao stopped reading right there

you know that's an ESR quote right

Sweevo
Nov 8, 2007

i sometimes throw cables away

i mean straight into the bin without spending 10+ years in the box of might-come-in-handy-someday first

im a fucking monster

i didn't actually stop reading there. i thought it was RMS based on the fact that it was unironically recommending people learn lisp

Sweevo fucked around with this message at 18:00 on Jul 5, 2015

karms
Jan 22, 2006

by Nyc_Tattoo
Yam Slacker

Zaito posted:

these are good:

A# .NET
A# (Axiom)
A-0 System
A+
A++
ABAP
ABC
ABC ALGOL
ABLE
ABSET
ABSYS
ACC
Accent
Ace DASL
ACL2
ACT-III
Action!
ActionScript
Ada
Adenine
Agda
Agilent VEE
Agora
AIMMS
Alef
ALF
ALGOL 58
ALGOL 60
ALGOL 68
ALGOL W
Alice
Alma-0
AmbientTalk
Amiga E
AMOS
AMPL
Apex (Salesforce.com)
APL
App Inventor for Android's visual block language
AppleScript
Arc
ARexx
Argus
AspectJ
Assembly language
ATS
Ateji PX
AutoHotkey
Autocoder
AutoIt
AutoLISP / Visual LISP
Averest
AWK
Axum
B
Babbage
Bash
BASIC
bc
BCPL
BeanShell
Batch (Windows/Dos)
Bertrand
BETA
Bigwig
Bistro
BitC
BLISS
Blue
Boo
Boomerang
Bourne shell (including bash and ksh)
BREW
BPEL
C
C--
C++ - ISO/IEC 14882
C# - ISO/IEC 23270
C/AL
Caché ObjectScript
C Shell
Caml
Cayenne
CDuce
Cecil
Cel
Cesil
Ceylon
CFEngine
CFML
Cg
Ch
Chapel
CHAIN
Charity
Charm
Chef
CHILL
CHIP-8
chomski
ChucK
CICS
Cilk
CL (IBM)
Claire
Clarion
Clean
Clipper
CLIST
Clojure
CLU
CMS-2
COBOL - ISO/IEC 1989
Cobra
CODE
CoffeeScript
Cola
ColdC
ColdFusion
COMAL
Combined Programming Language (CPL)
COMIT
Common Intermediate Language (CIL)
Common Lisp (also known as CL)
COMPASS
Component Pascal
Constraint Handling Rules (CHR)
Converge
Cool
Coq
Coral 66
Corn
CorVision
COWSEL
CPL
csh
CSP
Csound
CUDA
Curl
Curry
Cyclone
Cython
D
DASL (Datapoint's Advanced Systems Language)
DASL (Distributed Application Specification Language)
Dart
DataFlex
Datalog
DATATRIEVE
dBase
dc
DCL
Deesel (formerly G)
Delphi
DinkC
DIBOL
Dog
Draco
DRAKON
Dylan
DYNAMO
E
E#
Ease
Easy PL/I
Easy Programming Language
EASYTRIEVE PLUS
ECMAScript
Edinburgh IMP
EGL
Eiffel
ELAN
Elixir
Elm
Emacs Lisp
Emerald
Epigram
EPL
Erlang
es
Escapade
Escher
ESPOL
Esterel
Etoys
Euclid
Euler
Euphoria
EusLisp Robot Programming Language
CMS EXEC (EXEC)
EXEC 2
Executable UML
F
F#
Factor
Falcon
Fancy
Fantom
FAUST
FFP
Fjölnir
FL
Flavors
Flex
FLOW-MATIC
FOCAL
FOCUS
FOIL
FORMAC
@Formula
Forth
Fortran - ISO/IEC 1539
Fortress
FoxBase
FoxPro
FP
FPr
Franz Lisp
Frege
F-Script
G
Google Apps Script
Game Maker Language
GameMonkey Script
GAMS
GAP
G-code
Genie
GDL
GJ
GEORGE
GLSL
GNU E
GM
Go
Go!
GOAL
Gödel
Godiva
GOM (Good Old Mad)
Goo
Gosu
GOTRAN
GPSS
GraphTalk
GRASS
Groovy
Hack (programming language)
HAL/S
Hamilton C shell
Harbour
Hartmann pipelines
Haskell
Haxe
High Level Assembly
HLSL
Hop
Hope
Hugo
Hume
HyperTalk
IBM Basic assembly language
IBM HAScript
IBM Informix-4GL
IBM RPG
ICI
Icon
Id
IDL
Idris
IMP
Inform
Io
Ioke
IPL
IPTSCRAE
ISLISP
ISPF
ISWIM
J
J#
J++
JADE
Jako
JAL
Janus
JASS
Java
JavaScript
JCL
JEAN
Join Java
JOSS
Joule
JOVIAL
Joy
JScript
JScript .NET
JavaFX Script
Julia
Jython
K
Kaleidoscope
Karel
Karel++
KEE
Kixtart
KIF
Kojo
Kotlin
KRC
KRL
KRL (KUKA Robot Language)
KRYPTON
ksh
L
L# .NET
LabVIEW
Ladder
Lagoona
LANSA
Lasso
LaTeX
Lava
LC-3
Leda
Legoscript
LIL
LilyPond
Limbo
Limnor
LINC
Lingo
Linoleum
LIS
LISA
Lisaac
Lisp - ISO/IEC 13816
Lite-C
Lithe
Little b
Logo
Logtalk
LPC
LSE
LSL
LiveCode
LiveScript
Lua
Lucid
Lustre
LYaPAS
Lynx
M2001
M4
M#
Machine code
MAD (Michigan Algorithm Decoder)
MAD/I
Magik
Magma
make
Maple
MAPPER now part of BIS
MARK-IV now VISION:BUILDER
Mary
MASM Microsoft Assembly x86
Mathematica
MATLAB
Maxima (see also Macsyma)
Max (Max Msp - Graphical Programming Environment)
MaxScript internal language 3D Studio Max
Maya (MEL)
MDL
Mercury
Mesa
Metacard
Metafont
MetaL
Microcode
MicroScript
MIIS
MillScript
MIMIC
Mirah
Miranda
MIVA Script
ML
Moby
Model 204
Modelica
Modula
Modula-2
Modula-3
Mohol
MOO
Mortran
Mouse
MPD
MSIL - deprecated name for CIL
MSL
MUMPS
Mystic Programming Language (MPL)
NASM
NATURAL
Napier88
Neko
Nemerle
nesC
NESL
Net.Data
NetLogo
NetRexx
NewLISP
NEWP
Newspeak
NewtonScript
NGL
Nial
Nice
Nickle
Nim
NPL
Not eXactly C (NXC)
Not Quite C (NQC)
NSIS
Nu
NWScript
NXT-G
o:XML
Oak
Oberon
OBJ2
Object Lisp
ObjectLOGO
Object REXX
Object Pascal
Objective-C
Objective-J
Obliq
OCaml
occam
occam-π
Octave
OmniMark
Onyx
Opa
Opal
OpenCL
OpenEdge ABL
OPL
OPS5
OptimJ
Orc
ORCA/Modula-2
Oriel
Orwell
Oxygene
Oz
P#
ParaSail (programming language)
PARI/GP
Pascal - ISO 7185
PCASTL
PCF
PEARL
PeopleCode
Perl
PDL
Perl6
PHP
Phrogram
Pico
Picolisp
Pict
Pike
PIKT
PILOT
Pipelines
Pizza
PL-11
PL/0
PL/B
PL/C
PL/I - ISO 6160
PL/M
PL/P
PL/SQL
PL360
PLANC
Plankalkül
Planner
PLEX
PLEXIL
Plus
POP-11
PostScript
PortablE
Powerhouse
PowerBuilder - 4GL GUI appl. generator from Sybase
PowerShell
PPL
Processing
Processing.js
Prograph
PROIV
Prolog
PROMAL
Promela
PROSE modeling language
PROTEL
ProvideX
Pro*C
Pure
Python
Q (equational programming language)
Q (programming language from Kx Systems)
Qalb
QtScript
QuakeC
QPL
R
R++
Racket
RAPID
Rapira
Ratfiv
Ratfor
rc
REBOL
Red
Redcode
REFAL
Reia
Revolution
rex
REXX
Rlab
RobotC
ROOP
RPG
RPL
RSL
RTL/2
Ruby
RuneScript
Rust
S
S2
S3
S-Lang
S-PLUS
SA-C
SabreTalk
SAIL
SALSA
SAM76
SAS
SASL
Sather
Sawzall
SBL
Scala
Scheme
Scilab
Scratch
Script.NET
Sed
Seed7
Self
SenseTalk
SequenceL
SETL
SIMPOL
SIGNAL
SiMPLE
SIMSCRIPT
Simula
Simulink
SISAL
SLIP
SMALL
Smalltalk
Small Basic
SML
Snap!
SNOBOL(SPITBOL)
Snowball
SOL
Span
SPARK
Speedcode
SPIN
SP/k
SPS
SQR
Squeak
Squirrel
SR
S/SL
Stackless Python
Starlogo
Strand
Stata
Stateflow
Subtext
SuperCollider
SuperTalk
Swift (Apple programming language)
Swift (parallel scripting language)
SYMPL
SyncCharts
SystemVerilog
T
TACL
TACPOL
TADS
TAL
Tcl
Tea
TECO
TELCOMP
TeX
TEX
TIE
Timber
TMG, compiler-compiler
Tom
TOM
TouchDevelop
Topspeed
TPU
Trac
TTM
T-SQL
TTCN
Turing
TUTOR
TXL
TypeScript
Turbo C++
Ubercode
UCSD Pascal
Umple
Unicon
Uniface
UNITY
Unix shell
UnrealScript
Vala
VBA
VBScript
Verilog
VHDL
Visual Basic
Visual Basic .NET
Visual DataFlex
Visual DialogScript
Visual Fortran
Visual FoxPro
Visual J++
Visual J#
Visual Objects
Visual Prolog
VSXu
Vvvv
WATFIV, WATFOR
WebDNA
WebQL
Windows PowerShell
Winbatch
Wolfram
Wyvern
X++
X#
X10
XBL
XC (exploits XMOS architecture)
xHarbour
XL
Xojo
XOTcl
XPL
XPL0
XQuery
XSB
XSLT - See XPath
Xtend
Yorick
YQL
Z notation
Zeno
ZOPL
ZPL

i know all ofthese

jony ive aces
Jun 14, 2012

designer of the lomarf car


Buglord

Bloody posted:

actually wpf makes desktop apps easy
:agreed: but unironically

i was just imitating that other post but i really should've called asp.net the hellish bullshit (because it is (it's bad))

Migishu
Oct 22, 2005

I'll eat your fucking eyeballs if you're not careful

Grimey Drawer

I could've gone the rest of my life knowing that this didn't exist.

Kill everyone, salt the earth, no life shall remain

OldAlias
Nov 2, 2013

tumor looking batty posted:

THE COMPUTER LANGUAGE THAT WILL GET ME LAID!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

https://www.youtube.com/watch?v=wPXk_rcrUjY

ConanTheLibrarian
Aug 13, 2004


dis buch is late
Fallen Rib

Triglav posted:

with a brain u can close ur eyes an imagine anything

nice ableism rear end in a top hat

Optimus_Rhyme
Apr 15, 2007

are you that mainframe hacker guy?

Twat le Piss posted:

COBOL then when you are working on an insanely expensive and profitable project to move banking software to something that modern systems can read, learn something more future-proof op, you will probably buy a house from this

leftist heap
Feb 28, 2013

Fun Shoe
Had anyone said mumps

Michael Transactions
Nov 11, 2013

okay i guess ill lern html then

maniacdevnull
Apr 18, 2007

FOUR CUBIC FRAMES
DISPROVES SOFT G GOD
YOU ARE EDUCATED STUPID

rrrrrrrrrrrt posted:

Had anyone said mumps

No, because don't

CharliePAG
Oct 11, 2012
I wanted to learn XSLT, but it told me to find XPath. There was no XPath.

Flat Daddy
Dec 3, 2014

by Nyc_Tattoo

tumor looking batty posted:

okay i guess ill lern html then

That's a good one to start with. PM me if you need help with any of the tags.

obstipator
Nov 8, 2009

by FactsAreUseless
binary, OP. the coding language to know is binary

3D Megadoodoo
Nov 25, 2010

tumor looking batty posted:

okay i guess ill lern html then

be sure to add lots of furoms references into the megagame you program with html that is always very lol!

Fredrik1
Jan 22, 2005

Gopherslayer
:rock:
Fallen Rib
Just learn how to outsource all your programming needs.

You'll thank me later.

PipeRifle
Oct 4, 2004

we have catte


quote:

Remember when I wrote about Applejack? (I don't!)

Dear Princess Cadence and Shining Armor: Cider Jugs.

Today I learned Applejack's Drinking Song. Did you know that Applejack likes the number 99? (Applejack likes a lot of things...) I remembered how to sing the drinking song using Applejack. That's all about Applejack's Drinking Song!

I learned how to sing the drinking song using the number ciders. As long as ciders were more than 1, I sang cider" jugs of cider on the wall, "cider" jugs of cider,". There was one less cider. When cider had more than 1, I sang "Take one down and pass it around, "cider" jugs of cider on the wall."! Otherwise, I sang "Take one down and pass it around, 1 jug of cider on the wall."! That's what I would do, That's what I did.

I sang "1 jug of cider on the wall, 1 jug of cider. Take it down and pass it around, no more jugs of cider on the wall. No more jugs of cider on the wall, no more jugs of cider. Go to the celler, get some more, 99 jugs of cider on the wall.". That's what I did! That's all about how to sing the Drinking Song!

Your faithful student,
Twilight Sparkle.

P.S. Twilight's drunken state truely frightened me, so I couldn't disregard her order to send you this letter. Who would have thought her first reaction to hard cider would be this... explosive? I need your advice, your help, everything, on how to deal with her drunk... self. -Spike

pram
Jun 10, 2001
Jesus loving Christ

My Linux Rig
Mar 27, 2010
Probation
Can't post for 6 years!

CharliePAG posted:

I wanted to learn XSLT, but it told me to find XPath. There was no XPath.

no don't it's surrounded by horse poo poo

seriously

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?

My Linux Rig posted:

no don't it's surrounded by horse poo poo

seriously

XPath and XSLT aren't that bad, they're just wacky syntax atop a functional language for querying and transforming trees

I actually found the O'Reilly pocket ref to be reasonable

comedyblissoption
Mar 15, 2006

it's bad because why wouldnt you just use a programming language w/ functional constructs to janitor that bullshit like C# instead of a crippled and overly verbose functional language

Tokamak
Dec 22, 2004

quote:

C
:goonsay:

Migishu
Oct 22, 2005

I'll eat your fucking eyeballs if you're not careful

Grimey Drawer

:gonk:

Nuke the earth

When aliens visit in the distant future, nothing shall remin

Maximum Leader
Dec 5, 2014

Dr. Honked posted:

html is a great programming language if you like to get close to the metal

sorry, i think thats what node.js is for. i would recommend learning pascal however

Tokamak
Dec 22, 2004

Maximum Leader posted:

sorry, i think thats what node.js is for. i would recommend learning pascal however

asm.js

Shaggar
Apr 26, 2006
you should learn java and c#, op.

Bloody
Mar 3, 2013

Shaggar posted:

you should learn java and c#, op.

agreed except just c#

Adbot
ADBOT LOVES YOU

bobbilljim
May 29, 2013

this christmas feels like the very first christmas to me
:shittydog::shittydog::shittydog:

Bloody posted:

agreed except just c#

it's a package deal

  • Locked thread