Tag Info

Hot answers tagged

34

Autoconf and Automake were set out to solve an evolutionary problem of Unix. As Unix evolved into different directions, developers that wanted portable code tended to write code like this: #if RUNNING_ON_BSD Set things up in the BSD way #if RUNNING_ON_SYSTEMV Set things up in the SystemV way #endif As Unix was forked into different implementations (BSD, ...


20

I too would recommend Python as a friendly, accessible language without excessive syntactic sugar. While it looks very simple, it is not a toy language, it's a language used by Google, NASA, YouTube and many other places. It's quite powerful and flexible, and supports both imperative and Object Oriented programming paradigms. Its syntax is straight to the ...


15

You forget one crucial thing, namely that your program will have to interact with the operating system to do anything interesting. The conventions are different between Linux and OS X so the same binary cannot run as-is without essentially having a chunk of operating system dependent code to be able to interact with it. Many of these things are hidden away ...


12

The Link Editor Command Language appears to be described in the AT&T UNIX™ PC Model 7300 Unix System V Programmers Guide, chapter 17: The Link Editor. I found a copy of the Programmer's Guide (pdf) at http://www.tenox.tc/docs/. The relevant section is on page 524 of the linked .pdf.


11

There are two "Big players" in this area; Cmake, and GnuAutotools. GnuAutotools is the Gnu way to do things, and is fairly focused on *nix. It's a sort of meta-build system, providing a set of tools that generate specific config and make files for what you're trying to do. This helps you make more changes in your code without having to directly ...


11

you can use the watch(1) command to run your script at regular intervals: watch -n 1 myscript.sh This will run myscript.sh every 1 second clearing the screen between each run and with a timestamp in the corner. You can use the -d option and it will even highlight differences in the output per run.


11

There's a free book online by Chris Pine called Learn to Program which uses Ruby. It begins assuming that you know nothing about programming and teaches from there. Even if you do know a little bit about programming, the first chapters build strong skills in Ruby, but don't feel repetitive.


11

You could try mgetty. Mgetty is a ‘‘smart’’ getty replacement, designed to be used with hayes compatible data and data/fax modems. Mgetty knows about modem initial- ization, manual modem answering (so your modem doesn’t answer if the machine isn’t ready), UUCP locking (so you can use the same device for dial-in ...


11

There's absolutely no "best" distro for programming. One may argue that Unix in general is more programmer-friendly (and even this is debatable), but comparing distros on this level is just nonsense. In other word, a skilled Unix user will know how to turn any distro into her favorite programming environment with little efforts. However, depending on your ...


11

"Unix programming" refers to programming explicitly for a unix environment. This would include programming for shells that conform to a relevant standard (such as POSIX). However, it would also include programming in any language whilst making explicit use of system interfaces and resources that are similarly standardized, presuming that these are specific ...


9

This is doable if someone wants to spend enough time to make it happen. No one has, yet. It's been done before on other platforms: Solaris and UnixWare include a helper program called lxrun which works something like sudo: you pass your executable name and parameters to the helper and it fixes things up dynamically so that the executable can talk to the ...


8

While you ask for window management system you mention features like find/replace, file management etc. which is usually not part of Window Management, but a Desktop Environment, so you should be looking for separate tools for that. For general tools I would suggest having a look at http://suckless.org, they provide nice list of "do one thing and do it well" ...


7

You're going to need a GUI toolkit. There are more available than I can list here. Python has bindings for more toolkits than you can shake a stick at. See their GUI Programming wiki page for more info. I don't know much about Fortran, but the same logic is going to apply. The most common toolkits on Linux are GTK (originally developed for The GIMP and now ...


7

It would help if you were a lot more specific about what you are trying to do. Here is an extremely simplistic example: while true do clear date sleep 1 done


7

Running Linux (Ubuntu or Debian) If it runs Android, it has Linux drivers, since Android runs on a Linux kernel. However Google maintains its own forked version of the Linux kernel source, and not all drivers have been ported back. There is no official Ubuntu distribution for ARM, but there are people working on an informal ARM port. That page lists OMAP ...


7

For developing C/C++ you need the gcc compiler, which is included in most Linux distributions or can be easily installed. There is not a default IDE: most people use their favorite editor (vim, emacs, Geany etc...) and there are IDEs like Eclipse or KDevelop available. C# can be done with Mono, but it is not fully compatible with .NET: check the ...


7

while true;do echo -n .;sleep 1;done & sleep 10 # or do something else here kill $!; trap 'kill $!' SIGTERM echo done this will start an infinite while loop that echoes a "." every second, this executes in the background. This will display "." in the shell. Run the sleep command or any a command you want. When that command finishes executing then kill ...


6

Scons is one possible replacement, though I have no personal experience. It's also implemented in Python, which could be a problem, depending on the build environment.


6

The easiest way to use linux to answer the phone is with the Asterisk program. You should be able to yum install asterisk on your linux machine. You then connect an analog adapter to your network and connect your phone line through it. This will allow you to answer the call, see the caller id if the caller id information is sent from your LEC, record the ...


6

Well, the "best" thing about linux is that it's up to you how you going to use it, and for whatever purposes, and it's all free :p I would suggest you to start with debian, it's hairy enough to meet the begginner linux programmers needs on software side and yet it's minimalistic and flexible enough for "users" Would not suggest to use ubuntu since it's not ...


6

I couldn't see a way to do this using bar. However you might be interested in these other commands that do the same thing, that might suite your needs better. Method #1 - Fake it This method will simply overwrite what's been previously displayed to the screen with a larger progress bar. Simple but effective. Example, ex.bash: #!/bin/bash echo -ne '##### ...


6

The Unix Programmers Manual you linked to is probably mostly relevant for Linux also. However, that manual was published in 1979. Things have changed since then in all descendants of the original Unix.


5

I find NERDtree indispensible for navigating through my codebase. Alongside that, investing some time in becoming proficient in moving around your buffers/windows is really worthwhile.


5

A great feature of vim is the ease of integration with existing shell commands. Some of the most useful external tools are the ones that are included in coreutils and other simple text maniplulation tools. For example, we can get the number of lines in a file with: :! wc -l % or the number of words: :! wc -w % Any command that works on the shell will ...


5

Ok, you ask for experiences, this makes the question a little subjective and argumentative, but passable. Linus said that referring to the uses that people usually attribute to O_DIRECT, and for those uses, IMO Linus is mostly correct. Even if you do direct I/O, you cannot transfer data to/from devices directly to your program statements, you need a buffer ...


5

Let me to respond to your question with a alternative answer. I guess you want read the code for the traditional Unix command line tools, not only the GNU version of these. Read the code of similar tools from different projects is a good practice for learning different ideas and implementations. GNU has a nice web interface for the repo of coreutils: ...


5

Asking which programming language is best for a beginner is like asking which tool is best for a beginning plumber. It's completely irrelevant. The important thing is what you learn, not the language in which you express it. If you're interested in programming in general and are serious about it, I would suggest you start reading through Structure and ...


5

Best Linux distribution The best Linux distribution for programming is ... all of them. There is really no distribution that I know about that would be bad for programming. The tools and languages that you use are available on every Linux distribution. The differences are not with tools or languages but with package management systems, versioning, ...


5

Static variables are variables that exist throughout the lifetime of the program. That is, they are placed in memory allocated at compile time (as opposed to most variables, which are allocated at run time).


5

A different approach is to write your functionality as a library. Then you have a GUI which uses the library; and a CLI which also uses the library. Depending on the complexity of your task that may be the best solution, as both programs could work independently without the need of any kind of inter process communication.



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