Linux Development

Hi All,
Is there anybody who can suggest any linux developement tools in order to develop application such as visual basic or c# for linux?
What is the suitable IDE for the linux based environment? I want to access to the RS232 Port using the beagleboard and hence i wanna do something with it such as lighting up some led.

Please advise

Regards,
Nicky

Nicky wrote:

Hi All, Is there anybody who can suggest any linux developement tools in order to develop application such as visual
basic or c# for linux?

I fear there is no visual basic for the beagleboard,
petition Microsoft tp port it.

C# should actually work if you use the Mono stuff.

What is the suitable IDE for the linux based environment? I want to access to the RS232 Port using the beagleboard
and hence i wanna do something with it such as lighting up some led.

using the RS232 port has nothing to do with an IDE

Vim with autocompletion and syntax highlighting works for me.

What do you mean by mono stuff?
I am going to develop an application for example like visual basic calling input or output to the rs232 and provides such simple UI to it.
Do you mean C# application develop in Microsoft can be used in the linux too by the mono stuff?

Hi Benjamin,
Can you give details regarding the vim method? Using vim to write GUI application?

I'm not aware of visual basic or C# compilers for linux.

There is C, C++, Java, Python, Ruby all available though.

Nicky wrote:

Hi Benjamin,
Can you give details regarding the vim method? Using vim to write GUI application?

vim is an editor, it manipulates text files. Eventually
you can manipulate a text file into something that
your compiler converts into a GUI application.

Nicky wrote:

What do you mean by mono stuff?

http://www.mono-project.com/Main_Page

http://www.mono-project.com/Mono:ARM

I am going to develop an application for example like visual basic calling input or output to the rs232 and provides
such simple UI to it.

no, you wont use visual basic since Microsoft only supports that
on Windows/X86

Do you mean C# application develop in Microsoft can be used in the linux too by the mono stuff?

see above, whether it will help you I cannot tell

Hi Richard,
This is the language use to develop but is there any ide available to develop? I am not so familiar.

Regards,
Nicky

Another option were to use Qt with http://gitorious.org/qserialdevice/qserialdevice/commits/2.0. Or use Python with pyserial.

Yegor

Vladimir,
It means that i develop a software for example in visual basic and i use mono to cross compile it to be executable from the linux?

Nicky wrote:

Vladimir,
It means that i develop a software for example in visual basic and i use mono to cross compile it to be executable from
the linux?

no, mono is not a visual basic cross compiler

I have installed the mono develop just. To be general, visual basic is only executable from x86 based. So, by using monodevelop, i can write application in C# but also running in linux based computer in ARM microprocessor? Or i can also write C programs in monodevelop for example in microsoft window 7 but i am able to cross compile it into linux too?

Vladimir Pantelic <vladoman@gmail.com> writes:

no, mono is not a visual basic cross compiler

To cross compile you'd need at least stereo.

What do u mean by stereo?

Nicky wrote:

I have installed the mono develop just. To be general, visual basic is only executable from x86 based. So, by using
monodevelop, i can write application in C# but also running in linux based computer in ARM microprocessor? Or i can also
write C programs in monodevelop for example in microsoft window 7 but i am able to cross compile it into linux too?

did you read any of the links I provided? and if you read
them, do you understand any of it? if you don't understand
there is no point of installing anything.

Hi Richard,
This is the language use to develop but is there any ide available to
develop? I am not so familiar.

Regards,
Nicky

I am an old man very new to this list, thus forgive me (all) for barging in like this.

Nicky,

Either you have a terrific sense of humor or you really have a very thick skin (positive), or you really want to accomplish something.

Regardless of some sarcastic contributions to this thread, I think I can shed some light by looking at this thread orthogonally.

You appear to be used to certain M$ tools which via clever and heavy use of GUI tools manage to create applications while totally hiding the technology used to actually accomplish the task you specify via the GUI.

Generally, you will not find this kind of tools in Linux. Most Linux tools are build as aids to a person who knows and understand the technology at hand and just wants some aids to easy the task.

For example, one writes a program in C++. He/She knows the language, etc. but tends to make typos and errors as they go along. If that person uses vim/Emacs/etc. these text editors will highlight the code the person writes and makes it easier to read the code, detect errors, etc.

But notice the fundamental difference:

* In M$, you tell the program what you want the program to do, and the
    fancy tool writes the code (and all the support tools around it) for
    you.

* In Linux, _you_ write the code and the tools just make it (the code)
    easier, or prettier to look at.

Wait! Before you drown me in flame about this code generator and another one, I will admit that they exist, but none of the tools mentioned so far will write code for you. Most of the code generators are used to create GUI interfaces, and they still require the user to have a basic understanding of what programming looks like.

These were my two cents, and now I will retreat into my planned long lurking mode.

Sincerely,

Sheem-On

This is brilliant, if a little snarky.

I'm printing it out, large, and hanging it on my wall.

Thanks for the chuckles!

Hi Nicky,

I'm just going to try to lay it out plainly for a moment, because it
seems like you are in significantly over your head here and/or are not
a native English speaker, and because I'm feeling like trying to be
helpful right now.

You're going to have a hard time finding a lot of help here, because
you seem to not have a very good idea of what you're even trying to
do. You ask about building things in Linux, but then mention two
(mostly) Windows-exclusive languages. You then mention wanting to
access the RS232 port, which is an all around terrible way to
interface with the BeagleBoard for anything other than what it is
intended for - debugging and remote access. And in your responses to
what help you have been getting, you seem to have little understanding
of programming in general, much less cross-compiling or interfacing
with a Beagleboard. So you've been getting some marginally helpful,
and often snarky responses.

And quickly: to clarify, Mans is making a clever pun in his response
about Stereo. Mono is the (mostly) in my paragraph above. Mono is a
project that is an effort to support C# compilation in Linux. It is
not really related to the BeagleBoard at all, other than that it is
for Linux, and the BeagleBoard can run Linux. I don't know about the
state of Mono support for ARM development, which is a bit of a
separate issue, but it appears from Vladimir's response that there is
some support there, at least.

If you want a GUI/IDE for coding, look at Eclipse - I've heard it
recommended for all kinds of development, and also for specifically
the BeagleBoard. I myself am only passingly familiar with it, I
generally am not a huge fan of GUIs because I am very focused on
details when I am coding and being able to control everything, and
IDEs tend to get in my way more than anything else. I am more of a
user of Vim myself. But if you are used to tooling around in Visual
Studio (Visual Basic/C#), you will have a hard enough time
transitioning to developing outside of Microsoft's bubble, much less
outside of an IDE, so I would very much recommend you stick with
Eclipse or something of the sort.

To that end: I am not terribly familiar with the BeagleBoard list
specifically, but it has been my experience that you will get a much
better response in these kinds of lists if you give us a good amount
of information about what you want to do (your end goal), and what
you've tried already. it's good to show some effort, and that you
have some understanding of at least what problems you're up against -
it's always good to have read relevant documentation like the
BeagleBoard docs, or stuff over on the eLinux Wiki
(http://elinux.org/BeagleBoardFAQ). Then ask questions - the more
specific, the better.

So for instance, from your several posts, it seems that you want to
access the BeagleBoard through a serial port from a client application
on a desktop and flash some LEDs.

There are already several problems with that - first of all, if the
bulk of this application is going to be on the client computer, that
doesn't even need to be in Linux. Second of all, the BeagleBoard is
way overpowered for connecting to a computer and flashing some LEDs.
You would be much better of using something like an Arduino, or even
something even more stripped down like a Teensy or an Atmel AVR or a
PIC controller. Which isn't to say you can't use the BeagleBoard -
you certainly can. But the bottom line is that at some point, in
order to flash the LEDs, you're probably going to have to just write
some C. Not C#, and certainly not Visual Basic. C, maybe C++, to
listen to whatever input you're getting from the computer and flashing
LEDs in response.

Another issue is that RS232 is a terrible way to interface with a
computer - no one has serial ports these days except for people who
are programming their microcontrollers. The RS232 port on the
BeagleBoard is mainly for debugging and remote access, as far as I can
tell, but if you want to use it that's fine, it's easy to access from
software.

So to sum up: ask better questions, give us a better idea of what
you're trying to do, and read the links that people give to you. Try
not to be too offended if people tell you you're wrong, either they're
probably right, or you haven't told us enough about what you're trying
to do. It's long, but there is an absolutely excellent essay on the
subject of asking good questions in forums like this here:
http://catb.org/~esr/faqs/smart-questions.html
If you've read this whole email, and are going to continue asking
questions in such forums, it is worth your time to read, and will save
you and everyone you're asking questions much unneeded frustration and
confusion.

And to sum up what you should actually do for your project: do what I
said in the previous paragraph - tell us more, read up, educate
yourself. Ask better questions, and we'll be able to give you better
answers. Mailing lists are not places to get walked through how to do
everything on your BeagleBoard - that's what wiki articles and
walkthroughs and tutorials are for. Mailing lists are generally for
help for specific issues ("I can't access the RS232 port from my C
program", "I don't know how to get Eclipse to compile for the
BeagleBoard", "Where should I start looking to write a kernel module
to access the McBSP ports"), or discussion of issues or items of
interest related to the topic.

All that said, just because I wrote a bunch of stuff here doesn't mean
I will be your personal assistant in getting up and running. I don't
actually even know that much about BeagleBoard development myself, but
I've hung around mailing lists and IRC channels enough (a youngster to
many, I'm sure, but enough) to be able to try to point you in a more
helpful direction.

Or maybe it's 1:30am and my brain has gone to strange places, and I'm
just going off on tangents, in which case convert this to binary and
use it as a really bad source of data for your next random number
generator.

Joel

Here’s a word in defense of the RS-232 port! It is useful when you need to talk to the many older devices that communicate through slow serial I/O. I was set to use the BB XM serial port to talk to radio transceiver “CAT” ports, but then I discovered that BB’s RS-232 is very minimal without any of the hardware handshake signals supported. In the end, I’ll need to use a USB-RS232 adapter.

For software development, I go along with vim or gedit. Development on the BB is just like development on any other Linux computer, especially when using Ubuntu, as I am. It is harder to get started, though – to get your boot device set up. Fortunately, there are good directions on the web. You may have more trouble if you want to use the special (not PC-like) BB hardware interfaces or if you need to use the DSP functions.

Martin