87

This sort of hypothetical might do better on Programmers.SE because it's likely to be pretty one-sided here. That said, I was a .NET developer for a few years and came to depend on Visual Studio. It does a lot for you and yes, I particularly like the integrated debugger... However, I think there are a few reasons people choose Linux: Ubuntu is free. ...


79

Yes, you can develop software on Ubuntu, that itself will run on Ubuntu, in C#. Both Mono and .NET Core support GNU/Linux systems like Ubuntu. (You can use them on other distros, too, like Debian, Raspbian, Fedora, CentOS, Arch, Gentoo, and so forth.) The Unity3D game engine also supports Ubuntu, as you probably know. Unity3D embeds Mono. A number of ...


59

Most likely you will stumble upon http://www.mono-project.com/ As the About Mono page says: Mono, the open source development platform based on the .NET Framework, allows developers to build cross-platform applications with improved developer productivity. Mono’s .NET implementation is based on the ECMA standards for C# and the Common Language ...


48

You can get theme files from https://github.com/codebrainz/geany-themes (I prefer Spyder Dark and InkPot). The easiest way is to click "Clone or download" and then "Download ZIP". Just copy the .conf files directly into ~/.config/geany/colorschemes/. (Not wrapped in another subfolder as a result of downloading, archive extraction or Git.) They will ...


37

I would like to add one more important reason though; Ubuntu is great for experimenting with new libraries, languages, IDEs and compilers. Everything is one apt-get away. So you've heard about a fancy language called Haskell: sudo apt-get install ghc nano hello.hs <copy-paste hello world example> ghc -o hello hello.hs ./hello Hello World! Oh, you've ...


27

Unfortunately, you have to have Xcode installed on your machine and that's not possible on Ubuntu. I have been looking for that for a while and I find these answers to be very informative (read them in order): Can you run xcode in Linux? How do I install Xcode on Ubuntu? Can I install xcode in Ubuntu?


24

The short answer is "no." Strictly speaking, the Linux kernel provides little more than a direct interface to the hardware it is running on. There is an entire stack of additional Android-phone-specific APIs, programs, applications, etc. on which Android applications depend. Additionally, Android does not run on a generic Linux kernel, but instead runs on ...


22

You can now develop server applications on Linux using C# (.NET Core framework), like you can use Java or Python. By server applications I mean web applications and web service (REST) applications mostly. This makes a perfect match with Linux containers (Docker/K8s) and clouds. You can develop desktop applications with C# using the Mono Framework (a .NET ...


20

Here's an opinion from a primarily Microsoft platform developer. If you're not targeting the .NET ecosystem I would argue that your best option is Ubuntu. You will have a much easier time obtaining, configuring, and using tools for almost every other platform/language if you are on Ubuntu instead of Windows. The value of Microsoft's toolchain is that it is ...


20

My personal favorite for web programming would have to be Brackets. It has support and syntax highlighting for many, many languages, and has plenty of awesome features. It has an awesome interface that's really easy to use, along with a whole raft of features, like over 100 extensions accessible right from within a built-in Extension Manager, live-preview ...


20

There is a very easy and handy way: Using script to make typescript of terminal session Start the command script If the argument file is given, eg script ~/tmp/output, script saves the dialogue in this file. If no filename is given, the dialogue is saved in the file typescript Start your script or what ever you want to start If your script is finished, ...


18

You could install the Netwide Assembler, NASM: sudo apt-get install nasm NASM provides the -t option which enables the TASM Compatibility Mode: NASM includes a limited form of compatibility with Borland's TASM. When NASM's -t option is used, the following changes are made: local labels may be prefixed with @@ instead of . size override is ...


18

if you normally run your script with foo.sh, try running it (assuming it's a bash script) with bash -x foo.sh. If you want everything redirected to file, try bash -x foo.sh > file.log 2>&1 (note I'm redirecting stderr as well, remove the 2>&1 if you don't want this). If you also want to see what's going on, bash -x foo.sh 2>&1 | tee ...


18

Since what seems to be the occasion to ask this question already has an answer, I am answering this question as an extended explanation on how it was done (in python) Basic static indicator Since Ubuntu Mate, from 15,10, supports indicators, there is not much difference between writing an indicator and a panel app for Mate. Therefore, this link is a good ...


16

You can invert the scheme: Edit → Preferences → Editor → Display → Check: Invert highlighter color scheme. The alt scheme is in (You may test if can add other one or just modify this one) /usr/share/geany/colorschemes/alt.conf Note: How did I found this? I check for geany packages using synaptic. Looking in their Installed Files tab ...


15

I use both tools, IDEs and text-editors with Command-Line Interface (bellow referred to as CLI), to write programs. What Linux offers is a useful CLI starting from the default installation. If you don't need that and you are just using an IDE anyway, then there isn't much of a difference anymore (IMHO). IDEs IDEs are very good when it comes to integrating ...


14

By default, both python2 and python3 are installed. As already mentioned, you can check your version with either: python -V (mind the capital) or python --version or apt-cache policy python However This will only show the version of python2, while on 14.04, python3 is installed as well. To see the version of python3, simply replace all occurrences ...


14

I would recommend GitKraken because it is pretty polished, but it is closed-source.


13

2021 answer: If you're using Ubuntu 18.04 LTS or 20.04 LTS on amd64, arm64, armhf or i386, you can use the recommended ppa:longsleep/golang-backports. It provides Golang: 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 You can read more info on https://launchpad.net/~longsleep/+archive/ubuntu/golang-backports. To sum it up: sudo add-apt-repository ppa:...


13

Try: text: text ? text : "default text" "undefined" is just a string representation of a reference not referencing anything, just like None, or NULL in other languages. === is strict comparison operator, you might want to read this thread: https://stackoverflow.com/questions/523643/difference-between-and-in-javascript


12

I'll throw my answer into the ring (though I believe these all are good ones too). The most basic answer you can get is that it's all about philosophy. In the Microsoft world, it's a bit religious - You have the gods on Mt. Redmond who must be petitioned if you want anything implemented. Sometimes they will listen, other times your sacrifices and pleas ...


12

You can use almost all the javascript syntax in QML (See http://qt-project.org/doc/qt-5/ecmascript.html). The fastest method is Math.round(<NUM> * 100) / 100 But (<NUM>).toFixed(2) works (but is too slow according to this question on SO) The following snippet of code presents both implementations: import QtQuick 2.0 import Ubuntu.Components 0....


12

Whenever a compile fails with a missing file simply leverage the infrastructure to search for the missing ubuntu package apt-file search some_missing_file_goes_here # cmd 1 apt-file search X11/extensions/Xcomposite.h # cmd 1 which returns with libxcomposite-dev: /usr/include/X11/extensions/Xcomposite.h so solution is to install that missing ...


11

As far as I know, the only way to do it in current versions of bash is in two steps e.g. $ string="Mark Shuttleworth" $ string="${string//a/o}"; echo "${string//t/g}" Mork Shuggleworgh Attempts to nest substitutions result in an error: $ echo "${${string//a/o}//t/g}" bash: ${${string//a/o}//t/g}: bad substitution Note that other shells may support such ...


10

Bluefish is great - it supports HTML, CSS, JS and much more besides. Also supports tag completion , multi-threading & documenting etc. You can install it from the repos using: sudo apt-get install bluefish Screenshot: Note you can install Notepad++ under Wine, and a script for PlayOnLinux is also available


9

I'd like to provide my more general thoughts to the question: "Why is Linux a better environment for programming?" I think the most important reason why to develop on Linux is because you have full insight into most software internals. You are able to learn how things actually work if you are interested. That allows you to learn and adapt good or bad ...


9

This will print all: awk '{print $0}' And to make this long enough: this will print columns 3 to 6: awk -v f=3 -v t=6 '{for(i=f;i<=t;i++) printf("%s%s",$i,(i==t)?"\n":OFS)}' OFS is a built-in variable (there are 8: FS, OFS, RS, ORS, NR, NF, FILENAME, FNR) and is the output field seperator (more here).


9

First install the package inotify-tools: sudo apt-get install inotify-tools A bash script would help #! /bin/bash folder=~/Desktop/abc cdate=$(date +"%Y-%m-%d-%H:%M") inotifywait -m -q -e create -r --format '%:e %w%f' $folder | while read file do mv ~/Desktop/abc/output.txt ~/Desktop/Old_abc/${cdate}-output.txt done What does this script ...


9

if..elif..else will only trigger one clause. elif is short for "else if" so, like else, relies on previous checks not activating. If you want to evaluate each condition separately so that more than one can be called, each needs to be its own if. We'd also be able to do away with the else (that will always be called): #!/bin/bash ico="1"; if [[ $ico =~ ^-?[...


Only top voted, non community-wiki answers of a minimum length are eligible