Page 1 of 1

Favorite Programming Language

Posted: Tue Apr 11, 2017 2:33 pm UTC
by Moonythedwarf
(I wasn't sure this fitted in 'Coding', if i must i'll move it)
Talk about your favorite programming language(s)!
Talk about the do's and dont's, the tips and tricks :)
Let me start.... Rust
Rust is practically amazing, in my opinion, for both its portability (as long as LLVM can work for that platform) and its flexibility.
I like its memory safety oriented design and its immense flexibility for extending the compiler (Nightly only) and the fact it can work in most environments (See redox os, which has its kernel written in almost pure rust).
It even has a online sandbox if you want to try it, so may as well link a few resources:
https://doc.rust-lang.org/
https://play.rust-lang.org/
https://www.rust-lang.org/

Re: Favorite Programming Language

Posted: Tue Apr 11, 2017 9:15 pm UTC
by Flumble
The right board is called Religious Wars. Because taste can be argued and my favourite language is my favourite simply because it's the best.

Haskell (and friends, though I'm only familiar with Haskell) makes me feel funny because of its extensive pattern matching and lazy evaluation ...and types ...and composition ...and basically everything that is modern functional programming. I just love combining functions to create a complex data transformation without having to use variables. Most languages include a map and sometimes a reduce and filter nowadays, but I can't just put length . cyclesOfSize 4 in that map. Instead, it would require a whole inline function graph => length(cyclesOfSize(4, graph)) —where's my point-free utopia?

But other than making me swoon over type theory and being smart at evaluating simple programs, I like it just as much as a lot of other languages. I have yet to give TypeScript and Rust a go.

Re: Favorite Programming Language

Posted: Wed Apr 12, 2017 10:57 am UTC
by Tub
Languages are tools, not pets. Use the right tool for the right job. As awesome as rust's safety guarantees are, sometimes a bash one-liner is all you need.

So far, every language I met had *some* use case where it shines, and *some* use case where it's a poor choice.

Re: Favorite Programming Language

Posted: Wed Apr 12, 2017 11:37 am UTC
by Soupspoon
For ease of use in proving a concept: Perl (controversial, I know, if only for it being more a scripting language)

For stability/universality: I generally fall back on one or other generation of core C, depending upon the minutiae of the hardware interface/abstraction methods needed and allowed.

If I just want to create a Windows application with click buttons and things but no actual finesse: I'll dig up my Delphi disks (or perhaps go get Lazarus, if it plays better on newer platforms).

I've yet to settle on a 'modern' platform for contemporary (and potentially cross-platform) App development, still mostly jumping between the C family members, according to what various DevKits seem to best support, but there are so many options available...

And then there's the language of my own development (for a quarter of a century, now... wow, time flies!), an esoteric ultra-RISC (four instructions1) code base that'd probably run economically on an FPGA assembly, but mostly I'm messing about in other languages to create virtial platforms, rather than using it as a language itself... It's probably just what I turn to when I need reassurance that I'm better at something than anybody else, based on the fact that nobody else even knows about it. :P


1 None of this "any or all operands can be literal, absolute reference, relative reference, indirect reference via another (absolute/relative/register) reference, etc, in any combination, but it's still the same instruction!" thing...

Re: Favorite Programming Language

Posted: Wed Apr 12, 2017 11:50 am UTC
by Xenomortis
Tub wrote:So far, every language I met had *some* use case where it shines, and *some* use case where it's a poor choice.

What was Java's "shining" example?

*runs*

Re: Favorite Programming Language

Posted: Wed Apr 12, 2017 3:09 pm UTC
by Flumble
Xenomortis wrote:
Tub wrote:So far, every language I met had *some* use case where it shines, and *some* use case where it's a poor choice.

What was Java's "shining" example?

That was JavaServer Pages, right?

I guess it shines at being semi-cross-platform and embeddable in browsers in the 90s. :roll:
And it has millions of code snippets and libraries and tutorials and examples, so, if you need to quickly hack something together, it may as well be the best suited language for your problem.

Re: Favorite Programming Language

Posted: Wed Apr 12, 2017 8:06 pm UTC
by Demki
Xenomortis wrote:
Tub wrote:So far, every language I met had *some* use case where it shines, and *some* use case where it's a poor choice.

What was Java's "shining" example?

*runs*

C#.

I prefer Haskell tho. Hell, when I need a quick calculation(read: wait, what was sin (exp 3.12) again? Ah, right -0.61...), I just open up a shell and type "ghci" and do my calculations, why bother with some builtin calculator application?
Well, I sometimes just type simple expressions into google if I have the browser open.

Re: Favorite Programming Language

Posted: Thu Apr 13, 2017 9:29 pm UTC
by Tub
And I was trying SO hard not to bash anything :roll:

Sure, java got a lot of things wrong that c# eventually got right, but writing code for the JVM opens up a whole ecosystem of useful tools for deploying, managing, juggling and even cloudifying the resulting software. That's unlikely to be useful for private projects, homework or finishing project euler, but remember that most of the world's software development is done internally by corporations in order to solve a business problem. And for some of those problems, java is the best choice.

Java is also useful if you get paid by LoC.

Re: Favorite Programming Language

Posted: Fri May 12, 2017 10:26 pm UTC
by Derek
Xenomortis wrote:
Tub wrote:So far, every language I met had *some* use case where it shines, and *some* use case where it's a poor choice.

What was Java's "shining" example?

*runs*

The standard library is god tier. No other language even compares to it. If I need to write something that I know is going to need to depend on a lot of stuff that I don't want to implement myself, I'll probably use Java just for the library.

I actually don't find Java significantly more verbose than any other language. Especially now that it has lambdas. In fact, I find Java universally less verbose than C++. The lack of good list comprehensions is the only thing that's really missing from it now. Most of the verbosity and boilerplate that I see in practice comes from the style of coding, not the language. In particular dependency injection creates a lot of boilerplate code and encourages the use of providers and factories that increase verbosity. However dependency injection is not in any way tied to Java. You can write Java without it, and you can use it in any language. Furthermore, there are good reasons to use dependency injection, the most significant of which is that it makes unit testing much easier. But if you don't want to use it, you don't have to. Don't use DI in your code, use lambdas liberally, and skip out on some other boilerplate (like using public members instead of getters) and Java isn't verbose at all.

I'm not saying it's a perfect language or anything, there are a lot of flaws I could mention, but those are all shared by many other languages as well. But the main criticism I see is that it's verbose, and I don't agree with that.

Re: Favorite Programming Language

Posted: Mon May 15, 2017 12:30 am UTC
by Qaanol
I’m a fan of Swift nowadays.

Re: Favorite Programming Language

Posted: Mon May 15, 2017 8:10 am UTC
by Bane Harper
PHP and SQL are my favorite...

Re: Favorite Programming Language

Posted: Mon May 15, 2017 7:47 pm UTC
by Thesh
Are you a masochist?

Re: Favorite Programming Language

Posted: Mon May 15, 2017 9:25 pm UTC
by commodorejohn
C, FreeBasic, and Motorola 680x0 assembly language. Bonus round goes to Forth for "language I strongly suspect I'd really like if I took the time to wrap my head around it."

Re: Favorite Programming Language

Posted: Tue Jun 06, 2017 4:08 pm UTC
by monkey3
C , it looks good
html , javascript , ajax , php and mysql

:mrgreen:

Re: Favorite Programming Language

Posted: Sun Jan 07, 2018 4:27 pm UTC
by danlovy
I will use one of my favorite quotes from XKCD
"I use a magnetized needle and a steady hand."

Re: Favorite Programming Language

Posted: Sun Jan 07, 2018 7:49 pm UTC
by speising
soldering iron FTW!

Re: Favorite Programming Language

Posted: Mon Jan 08, 2018 4:38 pm UTC
by wumpus
Tub wrote:Languages are tools, not pets. Use the right tool for the right job. As awesome as rust's safety guarantees are, sometimes a bash one-liner is all you need.

So far, every language I met had *some* use case where it shines, and *some* use case where it's a poor choice.


True, so we should probably mention the problem case here. Still, some languages are move lovable regardless of the use case.

My first "amazing language" was Visual Basic. While I first learned to code in 8-bit BASIC (and all the damage that implies) [and had written much more x86 assembler, probably more assembler than Visual Basic no matter how much VB I wrote], this allowed an easy way to learn the language (and between QuickBasic and Visual Basic [2.0] they had fixed nearly all of BASICS major disasters). But if the "language" wasn't all that lovable, the slick integration with the GUI [and designer] certainly was. It made the hard parts (UI design) trivial and thus made the whole design 90% easier.

The fatal flaw was trying to integrate your own libraries. Eventually I had a project that needed libraries that didn't exist for for VB (then probably 5 or 6) and trying to compile C code into a DLL that VB could use was an enormous task, enough to offset any gains in building the UI (which wasn't the big issue for this project).

Enter Python. Python has nearly the reverse issue. The base syntax/language is extremely lovable (some claim that this leads to obsessed fanboyism and hate to be associated with such things), libraries could be easily assembled (at least with SWIG and 2.x, not sure the current method), but it doesn't have an official GUI library (other than Tcl/TK) and you are essentially on your own (a number of libraries exist, but have to be forced into python code).

Python remains my "favorite language", and I'd probably dig into something like IronPython abusing VB.net GUIs for any problem that would fit my old Visual Basic criteria.

speising wrote:soldering iron FTW!


How about "programming FPGAs via schematic capture? It certainly seems more natural than Verilog, but certainly slower to implement. I'd certainly have an easier time checking/debugging the schematic than the code and this might win in the end.

Re: Favorite Programming Language

Posted: Sun Apr 01, 2018 3:18 pm UTC
by monkey3
No idea , but suddenly has an interest in Assembly language :)

Re: Favorite Programming Language

Posted: Mon Apr 02, 2018 12:41 am UTC
by commodorejohn
monkey3 wrote:No idea , but suddenly has an interest in Assembly language :)

Which architecture/platform?

Re: Favorite Programming Language

Posted: Mon Apr 02, 2018 8:13 am UTC
by Soupspoon
commodorejohn wrote:
monkey3 wrote:No idea , but suddenly has an interest in Assembly language :)

Which architecture/platform?

FTL Nanoprocessor (With 25 bilateral kelilactirals. 20 of these being slaved into the primary heisenfram terminals, obviously!)

Re: Favorite Programming Language

Posted: Mon Apr 02, 2018 8:34 am UTC
by monkey3
commodorejohn wrote:
monkey3 wrote:No idea , but suddenly has an interest in Assembly language :)

Which architecture/platform?


Sorry for the late reply

x86 , i think that deals with 32 bit registers .

I got an application from a forum called reverseme.exe .

I disassembled the code with PE explorer and IDA pro

Then suddenly decided to learn more assembly language

Some basic notes i put together

Image

Re: Favorite Programming Language

Posted: Mon Apr 02, 2018 5:12 pm UTC
by commodorejohn
Ah. 32-bit x86 isn't bad, although I do prefer more orthogonal architectures. It's probably the last major architecture that was designed from an assembler programmer's standpoint, so you don't have issues like with a lot of the RISC architectures where, say, it takes multiple steps just to load a full-word constant.

(Hell, even 16-bit x86 isn't as bad as it's made out to be - segmented addressing is weird and a bit annoying, but it's far more of an issue for compiled languages, where handling it in a generic case requires things like separate types for near and far pointers or such.)

Re: Favorite Programming Language

Posted: Wed Apr 18, 2018 3:24 am UTC
by WanderingLinguist
Derek wrote:
Xenomortis wrote:
Tub wrote:So far, every language I met had *some* use case where it shines, and *some* use case where it's a poor choice.

What was Java's "shining" example?

*runs*

The standard library is god tier. No other language even compares to it.


Absolutely agree with you on this one. I think a lot of the flak Java gets (verbosity, performance, etc.) is based on really out-of-date information—like, from the 90's. For the most part, Java is surprisingly good for the amount of hate it gets.

There are really only two things that I really dislike about java: Boilerplate and Type Erasure.

The amount of boilerplate code required to implement common patterns (this is a different type of verbosity from what most people complain about, I think). For example, making a POJO that properly implements equality and hashing requires a lot of boilerplate, and while IDEs can generate this code for you, it's hard to see at a glance whether or not the boilerplate has been modified from the default, which makes it hard to debug and reason about.

As for Type Erasure, I know why they did it, and there are plenty of ways to work around it, but for every major project I work on, there are invariably a few unavoidable unsafe casts that work their way in there, and that bugs me on principle.

Fortunately, Kotlin does a lot to mitigate these issues, while keeping the strengths of Java (the JVM, the awesome standard library, to name a few). I love that I can use Kotlin with existing projects and it interoperates seamlessly, and I love that it eliminates a lot of boilerplate (especially for defining POJO classes). I have a few minor gripes with it (as with any language) but I have found in practice that I am able to produce working production-quality code much, much more quickly (3x to 4x more quickly) working in Kotlin. Partly because the language is awesome and it has the Java library available, but also because the language integration with the IDE (I use IntelliJ IDEA) is among the best I've ever seen.

I rarely have "favorite" when it comes to programming languages (as has been said, it's largely a matter of taste), but in a very concrete sense, the switch to Kotlin has vastly improved my team's productivity and vastly reduced crashes in production code (and development code—I think in the last 4 months, we've seen only a single NPE even in development! The compiler catches SO MUCH more than the Java compiler...)

Re: Favorite Programming Language

Posted: Wed Apr 18, 2018 3:25 am UTC
by WanderingLinguist
WanderingLinguist wrote:
Derek wrote:
Xenomortis wrote:
Tub wrote:So far, every language I met had *some* use case where it shines, and *some* use case where it's a poor choice.

What was Java's "shining" example?

*runs*

The standard library is god tier. No other language even compares to it.


Absolutely agree with you on this one. I think a lot of the flak Java gets (verbosity, performance, etc.) is based on really out-of-date information—like, from the 90's. For the most part, Java is surprisingly good for the amount of hate it gets.

There are really only two things that I really dislike about java: Boilerplate and Type Erasure.

I mean the amount of boilerplate code required to implement common patterns (this is a different type of verbosity from what most people complain about, I think). For example, making a POJO that properly implements equality and hashing requires a lot of boilerplate, and while IDEs can generate this code for you, it's hard to see at a glance whether or not the boilerplate has been modified from the default, which makes it hard to debug and reason about.

As for Type Erasure, I know why they did it, and there are plenty of ways to work around it, but for every major project I work on, there are invariably a few unavoidable unsafe casts that work their way in there, and that bugs me on principle.

Fortunately, Kotlin does a lot to mitigate these issues, while keeping the strengths of Java (the JVM, the awesome standard library, to name a few). I love that I can use Kotlin with existing projects and it interoperates seamlessly, and I love that it eliminates a lot of boilerplate (especially for defining POJO classes). I have a few minor gripes with it (as with any language) but I have found in practice that I am able to produce working production-quality code much, much more quickly (3x to 4x more quickly) working in Kotlin. Partly because the language is awesome and it has the Java library available, but also because the language integration with the IDE (I use IntelliJ IDEA) is among the best I've ever seen.

I rarely have "favorite" when it comes to programming languages (as has been said, it's largely a matter of taste), but in a very concrete sense, the switch to Kotlin has vastly improved my team's productivity and vastly reduced crashes in production code (and development code—I think in the last 4 months, we've seen only a single NPE even in development! The compiler catches SO MUCH more than the Java compiler...)

Re: Favorite Programming Language

Posted: Wed Aug 29, 2018 7:35 am UTC
by bunny9
I love Ruby. :D