[ 3 / biz / cgl / ck / diy / fa / ic / jp / lit / sci / vr / vt ] [ index / top / reports ] [ become a patron ] [ status ]
2023-11: Warosu is now out of extended maintenance.

/sci/ - Science & Math


View post   

File: 27 KB, 474x343, 0060.jpg [View same] [iqdb] [saucenao] [google]
1397319 No.1397319 [Reply] [Original]

what's your programming language of choice and where did you learn it?

pic unrelated

>> No.1397335
File: 62 KB, 490x769, 1271860540462.jpg [View same] [iqdb] [saucenao] [google]
1397335

>> No.1397346

html

>> No.1397354

>>1397319
LISP, by myself. /thread

>> No.1397362

css, Phd

>> No.1397365

Scheme, SICP.

>> No.1397374

>>1397365
accepted for god tier.

>> No.1397377

c++, learned it originally from a book

>> No.1397393

>>1397365
>CSfag detected

>> No.1397407

visual basic and microsoft batch scripting
I'm a leet haxor.

>> No.1397420

>>1397407
lol no, you sux

l2 Linux

>> No.1397424

I used to be a huge Perlfag but nowadays it's more and more C++ and I learned it mostly online

>> No.1397439

>computer "science"

Saged for having nothing to do with science or math

>> No.1397451

>>1397439
>Thinks computing has nothing to do with science or math.
>my face

>> No.1397484

>>1397451
>has been on this board for less than an hour
>judging by the failed use of my face probably hasn't even been on 4chan more than a coupe days

>> No.1397490

I traded handjobs for man pages.

>> No.1397517

>>1397484
>implying my face requires picture of face
>having no idea what computer science is

>> No.1397524

>>1397484
>my face when someone thinks you have to post a face
>my face when your a newfag

>> No.1397525

>>1397484
>failed use of my face
thats the joke.jpg

>> No.1397543

>>1397451
>>1397484
>>1397517
>>1397524
>>1397525
facepalm.jpg

>> No.1397557
File: 32 KB, 589x535, c.jpg [View same] [iqdb] [saucenao] [google]
1397557

>>1397543

>> No.1397559

>>1397524
>my face when you fail to troll....twice
0/10

>> No.1397568

Computer science is about as scientific as the social sciences

>> No.1397570

>>1397543
>my face when you think i dont know you are samefag

>> No.1397578

>>1397559
>my face when I didn't troll a first time

>> No.1397589

>>1397570
>my face when I'm you
>my face when forced /b/ and /v/ memes ruin any semblance of an actually enjoyable 4chan

>> No.1397591
File: 37 KB, 604x301, ss.jpg [View same] [iqdb] [saucenao] [google]
1397591

>>1397570
>my face when you think I am samefagging all your opposition

>> No.1397592

>>1397578
...three times
0/10

>> No.1397595

>>1397589
>>1397591
>my face when my face

>> No.1397602

>>1397595

>> No.1397607

>myspace.com

>> No.1397689
File: 23 KB, 409x304, bill-maher.jpg [View same] [iqdb] [saucenao] [google]
1397689

jesus, what's going on in here

>> No.1397874

Python, doc.python.org

>> No.1397894

>>1397689
>my face when you think nonbelievers can see my face

>> No.1398069

>>1397894
FUCK your face!

>> No.1398094

Thank you guys I lol'd

>> No.1398098

C++. What do you mean with where I learned it?

>> No.1398153

Take this to >>>/g/.

>> No.1398430

C
from google and "the c programming language" by k&r

>> No.1401025

bump

>> No.1401039

Python,

Its like the leatherman of programming languages.

Sure its not the BEST knife around, but it can do pretty much everything and is portable

Otherwise, I love the simplicity of C. But if I need to do a quick thing, always go for python

>> No.1401042

>>1397365
>calls SICP a programming language
>obviously has no idea what he's talking about at all

>> No.1401051

C++, but I feel as though I'd be equal at home with C. I was self-taught with C++. I took a couple university courses when I still thought comp sci was something worth my time, and those helped me explore more.

Now web application development is a HUGE interest to me. I love highly scalable architectures, and study and fiddle around with tools for high scalability with server hardware and software caching. I LOVE databases and my favorite server-side web scripting language is PHP by far.

I just got my degree, BS Management of Information Systems. I'm shifting my corporate strategy away from computers entirely. I think I'm passively doing this because I don't want to ruin one of the few things I really cherrish in life; computers.

>> No.1401061

>>1401051
>C++, but I feel as though I'd be equal at home with C

Unlikely, sure c++ is "derived" from c and has the same syntax, but the bastardized "Object System" they slapped onto C completely destroyed any semblance of the simplicity and elegance of C code.

>> No.1401064

> what's your programming language of choice

C, combined with other stuff where needed, for example:

C++ if you need to interface with MFC or some Windows type junk.
Assembly for the absolutely time-critical stuff.
Perl for processing files and sometimes even for generating C code.

> and where did you learn it?

Over the years... don't really remember. Been programming for nearly 30 years.

>> No.1401066

>>1401061

I didn't mean C++ = C + OOP, I'm saying that my style of programming in other languages is usually devoid of OOP, so I find it weird that I enjoy C++ so much. Thusly, why I think I'd feel so at home with C.

>> No.1401081

Python,

Ever need a quick script to sort your directory, Or a one-off client server pair? Or a quick Graphical interface?

takes no time, you can be as fucking lazy as possible and the shit still works - fast.

Then if I really need it, rewrite in See or Sepples

>> No.1401090 [DELETED] 

>>1401061
I have to agree with you... I'm this guy: >>1401064

C++ is just a failure, unfortunately. The STL is fairly useful, but it's also FILLED with potential pitfalls if you don't understand exactly how it's supposed to be used. And sometimes the way it's supposed to be used is fucking dumb anyway.

But uses C++ so whatareyagonnado.

>> No.1401094

>>1401061

I have to agree with you... I'm this guy: >>1401064

C++ is just a failure, unfortunately. The STL is fairly useful, but it's also FILLED with potential pitfalls if you don't understand exactly how it's supposed to be used. And sometimes the way it's supposed to be used is fucking dumb anyway.

But everyone uses C++ so whatareyagonnado.

>> No.1401097

>programming language of choice

Visual Basic

>where did you learn it?

CSI Miami

>> No.1401098

C and perl

fuck python and C++

>> No.1401101

python is for hipster faggots

>> No.1401104

>>1401094

True, Unfortunately C++ is pretty much the only choice for compiled abstraction, objects, polymorphism, and templates. So if you HAVE to use them, then thats your only choice.

Stuff like python is ok for small projects, but the Object system is really similliar to Scheme/LISP+CLOS in that objects are pretty much just structs with methods, no real protections or full support for the ENTIRE object abstraction philosophy.

>> No.1401112

>>1401101
And you know, people who need a decent scripting and general purpose programming language to do quick jobs around the PC and for one-shot utilities at work.

>> No.1401115

python + numpy + scipy = god tier scientific programming language

>> No.1401122

>>1401104
After years and years and years of battling to make C++ do what I want it to do, I came up with something that I think would be an awesome alternative. Some day soon, I'll get around to actually making it work.

The idea is to basically do what PHP did for HTML. PHP lets you "nest" code inside of other code, which happens to be incredibly powerful. So, imagine if you had C code with a scripting language nested inside it.

The compilation would become a two step process. First pass converts your "nested" code into a flat C file. Then the second pass is just a regular old C compile.

If you did the scripting language well, it would be a fucking powerful combination, and it would make C++ completely unnecessary.

You could write something like this:

<SCRIPT>
for ($x = 1; $x <= 5; $x++) {
</SCRIPT>
printf("this prints five different numbers $x");
<SCRIPT>
}
</SCRIPT>

And the first pass compile would expand that to:

printf("this prints five different numbers 1");
printf("this prints five different numbers 2");
printf("this prints five different numbers 3");
printf("this prints five different numbers 4");
printf("this prints five different numbers 5");

That's actually oversimplified, but whatever.

>> No.1401164

>>1401122
Wow, that ended the thread quick...
You're all running off to steal my idea and patent it, aren't you, assholes.

>> No.1401172

>>1401164

Nah, they already have a LISP dialect that allows you to embed C and Python is a similar way.

>> No.1401180

Fortran.

University.

>> No.1401195

>>1401172
That sounds awful... Embedding C inside LISP might be the only thing that could possibly be worse than what C++ did.

>> No.1401205

>>1401122
>and it would make C++ completely unnecessary.
what about OO and the three badass things C++ does
* encapsulation
* inheritance
* polymorphism

>> No.1401220

>>1401195

Its intended for scientific applications.

Its supposed to work similar to embedding assembly in C. Fast computations or similar statements can be written in C, while still allowing the general feel of a lisp programming language.

>> No.1401746

bumpy

>> No.1401886
File: 37 KB, 425x425, 43434532.jpg [View same] [iqdb] [saucenao] [google]
1401886

>>1401081
>Ever need a quick script to sort your directory, Or a one-off client server pair? Or a quick Graphical interface?

give us an example, what does a little file renaming script look like in Python?

I'm surprised so many people are Pythonfags

>> No.1401911

BASIC for the mother fucking win.

I learned it on an Atari my dad had in the basement.

C++ is also a pretty cool guy etc.

>> No.1401931

GameMaker

>> No.1401933
File: 2 KB, 384x271, 64screen.gif [View same] [iqdb] [saucenao] [google]
1401933

>>1401911
It's best fucking language to let someone like programming. Not because it IS the best, we simply need more programmers.

>> No.1402895
File: 37 KB, 460x276, 006.jpg [View same] [iqdb] [saucenao] [google]
1402895

>>1401886
still waitin' for somebody to deliver....

>> No.1402899

Umm, HTML... but I'm a girl who learned on her own so that's pretty good, right? Right.

>> No.1402900

>>1402899
coolstorybro.jpg

>> No.1402902

>>1402899
What a coincidence, I learned c++ on my own. We should fuck.

>> No.1402928

>>1402902
Me too. We should have a gang bang.

>> No.1402950

C++/java can't decide, majors degree.

>> No.1403004

Javascript, but only because I learned on it. Has the advantage that the bare devel platform consists of a text editor and a web browser, so you can walk up to any computer in the world and write a program.

>> No.1403055

>>1403004
>any computer in the world
>web browser
yeah, right

>> No.1403230
File: 41 KB, 432x324, BjarneStroustrup.jpg [View same] [iqdb] [saucenao] [google]
1403230

>>1402895
>still waitin'

>> No.1403953
File: 55 KB, 400x500, bill-gates__.jpg [View same] [iqdb] [saucenao] [google]
1403953

>> No.1404012
File: 161 KB, 807x813, 1251095082-Son I am disappoint.jpg [View same] [iqdb] [saucenao] [google]
1404012

I admit it, I fucking raged at your pic.
It's people like the tea party that make me feel very violent, fucking idiotic sheep.

>> No.1404019

HTML

>> No.1404025

>>1403004
Are you an idiot?

>> No.1404058

<3 python
i understand c++
use matlab most of the time tho

>> No.1404221

>>1404012
it's great entertainment for the rest of the world tho (well, except where the comparison is valid, like for Afghans and Iraqis)

>> No.1404258

Can anyone explain very briefly what the teabaggers are about?

I have seen so much stuff write about them but I decided to ignore it because it all seemed a bit stupid but now I have no idea what is going on.

>> No.1404280
File: 4 KB, 210x168, Itrollu.png [View same] [iqdb] [saucenao] [google]
1404280

>>1404019

>> No.1404283

Java

>> No.1404296

>>1404258
Its about stick my nuts in your mouth

>> No.1404314

>>1404258
Honestly it's hypocritical, racist, ignorant, fucks. They believe anything that faux news says and bow before Glenn Beck. They are highly conservative but most of the time they are upset over nothing. They have fun rallies like "bring a gun to Washington day" it's wannabe patriots that thing America's values are being ruined simply because we're moving away from Regan's values.

>> No.1404323

>>1404314

Thank you.

I think I will continue to ignore it.

>> No.1404375
File: 28 KB, 254x373, jesus.jpg [View same] [iqdb] [saucenao] [google]
1404375

>teabagger

>> No.1404377

C++, I originally got started with it after a year with C. I'm mostly self-taught. By the time ISO C++98 was ratified, I knew enough to be able learn directly from the standards specification. I also have an MSc in CS, but I was often the one schooling my TAs and professors in the finer details of C++.

>> No.1404407

>>1404375
>>1404375
Wonder what they would do i they realized what teabagging actually is

>> No.1404410

>>1404314
This describes the mentality behind the Tea Party, and ignorant people in general.

http://www.npr.org/templates/story/story.php?storyId=128490874

>> No.1404461

Cool that this tread is still here.

>>1401205

The "scripting" idea that I've described is really just a superset of C++. C++ basically becomes C under the hood of the compiler. For example, "templates" are just an ugly, monstrous bunch of shit that get expanded at compile-time.

For example, you write this in C++:

template <class myType> myType GetMax (myType a, myType b) {
return (a>b?a:b);
}

// ...

int x, y;
float u, v;
GetMax <int> (x, y);
GetMax <float> (u, v);

And the compiler has to actually build two different functions behind the scenes. One is a function that does "GetMax" with two integers and the other is a function that does "GetMax" with two floats.

The problem is that C++ gives you absolutely NO say-so in how that happens. Some guy decades ago decided how it should work and you're stuck with it. If, instead, you just used C along with a powerful scripting language (very much like Perl or Python), then you could define exactly how that happens, and it would all happen at compile-time, just like it does now in C++.

All of the bells and whistles of C++ could be EASILY described in a scripting language, especially a fairly modern one that supports regular expressions.

>> No.1404479

>>1401933
I never get tired of seeing that beautiful gif. Most nostalgic thing for me on all of the magical internets.

>> No.1404620

logo

>> No.1404636

I've learned some HTML and Turing back in high school. It was quite a low-tier, introductory course to computer science and was quite a while ago. According to the teacher I was the student with the most potential in the class, but I chose not to take anymore courses in computer science.

>> No.1404662

>>1404461
I object to your description of a templates as a "ugly, monstrous bunch of shit."

>The problem is that C++ gives you absolutely NO say-so in how that happens.

What specifically does the programmer need here in terms of control over the template mechanism?

Most decent C++ compilers (MSVC++ & Intel C++) would produce optimal code for your example, no worse than if you were to hand-write it in assembly.

>> No.1404686
File: 100 KB, 500x656, 1274907034680.jpg [View same] [iqdb] [saucenao] [google]
1404686

C++ or Java. Probably C++ because I have used it more.
Learned in college.

>> No.1404692 [DELETED] 

>>1397318
StOp AttackinG aNd Fucking With WWW.anOCaRrOTstaLK.SE REpLaCe_cArrots_WITh_N
p p npv zyufxzq osgiz u wojhiuf u

>> No.1404762

>>1404662
They are ugly... hideously ugly. There are so many hacks that had to be wedged in, like partial specialization, etc, and they still suck ass. Google the problems with std::vector<bool> as just one basic example.

But it's not just templates... It's every aspect of C++. Here are just a few others.
- Operator overloading: You have no control over what operators you can/can't overload. You can't invent new operators. You can't change order of precedence.
- OOP: You can't control the order in which constructors/destructors are called (and this can be a big problem). You can't make a member "private" to one class, but "public" to another class...

Fuck it, this argument has been had too many times to do it again here. Just look at the laundry list of shit that C++0x is SUPPOSEDLY going to fix:

http://en.wikipedia.org/wiki/C%2B%2B0x

But rest assured that for every one thing that's fixed by C++0x (if it ever actually happens), there will be three new annoyances due to the fact that all these wonderful new features are still closed up inside the compiler and beyond your control.

Just embed C inside a scripting language and move on.

>> No.1404778

Python, during my junior year of high school.

>> No.1404785

python
home

>> No.1404806

Perl, during undergrad.

>> No.1404872

>>1404762
>Operator overloading: You have no control over what operators you can/can't overload. You can't invent new operators. You can't change order of precedence.
Well to be fair it's called operator overloading, not operator making it up.

Of course there is a lot of stuff that can be improved on in c++ but short of writing a new compiler (with a new syntax, so really it'd be a new language) there's nothing that can be done.

I prefer D to C++. Unfortunately C++ is an established, decades-old language, used throughout a lot of the industry, and D is just an effort by some guys.

>> No.1404924

>>1401933
Commodore V2.0 BASIC. oh plz stop I need a hankie.

You learned that until you realised you can't do anything in a useful amount of time so you learned 6502 (6510) assembly.

Then you got a 68K machine... you were a '6er', not an '8er'... then you found the C-compiler could do a creditable job so you used it as a macro compiler.

Then the decent 68k machines died out - m$ marketing power - so you got a wintel box (Intel-fucking-byte-order).

The newbs ranted and raved about java (Joke About Virtual Architecture) but you remained true to your roots.

You saw so much bloated crap out there written in 'code' (no-one should write 'code' unless they're involved in cryptography), that you decided "why should I write programs when monkeys get away with writing shit that wastes a 1000 MIPS cpu?" Language is the operative word, it is used to communicate, efficiently.

Kids today, go figure.

>> No.1404955
File: 31 KB, 498x614, 1277200082820.jpg [View same] [iqdb] [saucenao] [google]
1404955

Fortran
A book on a shelf in High School

>> No.1405029

>>1404924
I have just seen my life summed up in a post on 4chan. This is a sad day.

>> No.1405296

>>1404762
I'll just add to the following...

>partial specialization is a hack

No it's not, it makes a lot of sense. Being able to specialize a template for one or more concrete template parameters while leaving others flexible makes a lot of sense.

std::vector<bool> is not an example of how partial specialization is bad, rather, it's an example of a bad library design decision.

>- OOP: You can't control the order in which constructors/destructors are called (and this can be a big problem). You can't make a member "private" to one class, but "public" to another class...

If you need to change the order in which constructor and destructors are called to be different from the order of inheritance, you're doing it completely and absolutely wrong.

As for being able to delegate to a different constructor from a constructor of the same class, then see C++0x.

>> No.1407267
File: 24 KB, 307x403, monorail-gyro.jpg [View same] [iqdb] [saucenao] [google]
1407267

For the past 3 or 4 years, I've been using Fortran 95 for non-realtime signal processing of arrays (vectors, matrices, cubes, etc.). I taught myself from two books -- "Programmer's Guide to Fortran 90" (to learn a language feature quickly) and "Fortran 95 Explained" (to see what the makers of the language were thinking when they made the language features).

If I had to learn F95 again, I would use two books again -- any programmer's guide to F95 (to hook things up quickly) and the latest version of "Fortran . . . Explained" (for late night reading).

A couple months ago, I also taught myself Coarray Fortran (for parallel programming without MPIs). I learned it using the g95 compiler (from g95.org) and Andrew Vaught's "The Complete Compendium on Cooperative Computing using Coarrays" (from the same web site). But I'm not using Coarray Fortran in my work yet -- I learned it outside of work in case it will help me in multicore environments later.

>> No.1407287

python C++