I want to learn Prawns. Where do I start?

Well let's start with explaining what Gambas is:

Gambas is a free Linux development environment based on a Basic interpreter with object extensions, a bit like Visual Basic ™ (but NOT a clone!). With Gambas, you can quickly design your graphical application with QT or GTK +, access MySQL, PostgreSQL, Firebird, ODBC and SQLite databases, control applications with DBUS, translate your program into any language, create Front End of linux commands, create network applications easily, make 3D OpenGL applications, make CGI web applications, generate installation packages for various distributions, etc.

Tell you that you can find two versions of Gambas: Prawns2 y Prawns3.

The most current one is Gambas3, and I advise you to use this one since it is more oriented to programming by objects than Gambas2, apart from Gambas2, it is no longer updated by the author Benoît Minisini and uses Qt3 which is in "deprecate" (deprecated) .

Prawn ide3

Gambas3 IDE

How do i install it?

For Debian / Ubuntu users you have a ppa to install it:

$ sudo add-apt-repository ppa: nemh / gambas3 $ sudo apt-get update $ sudo apt-get install gambas3

You can also compile it, from the source code. The process is applied on the project website http://gambas.sourceforge.net/en/main.html, you can also see it explained with screenshots in prawn cuso: explanation of compiling the source code

And to learn how to use it, where do I start?

There are several websites that you can visit:
http://gambasdoc.org/help/?es&v3: Página de la documentación oficial. Donde encontráis toda la información de la sintaxis del lenguaje (en varios idiomas).

Gambas2 and Gambas3 documentation web page

Gambas2 and Gambas3 documentation web page

http://www.cursogambas.blogspot.com.es: It is a prawn course that I am setting up and it starts from scratch with programming knowledge, explaining the main orders, loops, examples, etc….

Examples of database applications, use of design patterns and examples of prawns with Arduino.

Note:
The Gambas3 Ide itself brings a good number of examples, ready to use. To see the source code you have to previously "save as ..." the examples in another folder, and open them from the new folder, in order to see the source code.

Forum:
gambas-en.org: Forum in Spanish, where you can consult more than 20.000 messages published and with more than 2000 registered users

Books:
You have two free books:
1) In Spanish: Shrimps: This book was for version 1.99, but it can help you a lot.
2) In English: http://beginnersguidetogambas.com/: It is for version 2 but comment on version 3.

Video tutorials:
I have made a channel on YouTube, where I uploaded several tutorial videos, most of them I did with gambas2, but they are also valid for Gambas3:
http://www.youtube.com/user/jusabejusabe

Some manuals:
http://jsbsan.blogspot.com.es/p/tutoriales-y-manuales-de-gambas.html

Other blog where you can find more articles about prawns:
http://jsbsan.blogspot.com.es/
http://www.sologambas.blogspot.com.es/
http://gambas-basico.blogspot.com.es/
http://willicab.gnu.org.ve/componente-ncurses-en-gambas-3/
http://gambaslinux.wordpress.com/

I hope you enjoy it, regards


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.

  1.   fire cold said

    Thanks friend, I will give myself the task of learning, the truth looks interesting, greetings

    1.    Authorless said

      Look at this program called i-nex written in Gambas 3, it is like windows everest, it shows all your hardware and software in a graphical interface.

      I installed it in ubuntu but it fails, how does it work?

      https://www.facebook.com/inexlinux

  2.   gallux said

    There is a distribution called Daxos that uses a desktop made in Gambas 3. It is supposed to target low-resource computers. The major version is based on Ubuntu and Rasperry Pi on Debian. I have not tried it, but from the captures I have seen, it looks nice. The Icon set is quite similar to the one used in Haiku OS.
    Greetings!

    1.    jsbsan said

      I forgot to mention that there is another gnu / linux distribution, where gambas3 has been installed as standard, it is called Minino PicarOS «Diego», http://minino.galpon.org/es/descargas

    2.    jsbsan said

      I forgot to mention that there is another distribution (besides Daxos) that has pre-installed prawns3, it is called Minino PicarOs «Diego».
      You can download it here: http://minino.galpon.org/es/descargas

  3.   ravens said

    Hello, very good post. It looks really interesting and makes you want to learn. I wanted to ask a question: are there any libraries to control the usb port with prawns? Last year I did a project for the faculty, and I needed to use the usb port, that is why in my group we ended up using visual basic with some special libraries. But it would be very good to be able to use this platform and I wanted to know if there are also libraries or something like that.
    Greetings.

    1.    jsbsan said
  4.   Crow said

    I think the potential it has is great, but the syntax of basic and derivatives kills my eyes, it makes me want to try it.

  5.   msx said

    «I want to learn Prawns. Where do I start?»

    FOR RUNNING OUT.

    Prawns, really? Having so many languages ​​and so many interesting things to learn… Prawns !!! ??
    No man, no ...

    1.    Daniel said

      And which one do you recommend?

      1.    msx said

        @Jsbsan, is that precisely, that is the problem, Gambas is not * serious * programming and even worse, it deforms learning and the first approach to programming by offering a RAD hybrid that frankly leaves a lot to be desired.

        @Daniel: it depends what you want to do, of course, but in general lines: C ++ (Qt, quietly), PHP stack, Python, Ruby… it depends what you are looking for.
        Python has been making a lot of noise since it is not only scripted but also uses a precompile that makes it much faster, it has libraries and bindings to other languages ​​such as C ++ for almost whatever you want and it has also been successfully migrating to the web. The best thing about Python is that the same code with very few changes works both locally and in any other environment, in fact today many system-level administration tools are programmed directly in Python ...

        Java is another horrible thing, have you ever seen your code? Your way of creating classes and functions? And on top of it all running on a virtual machine ... no, thanks.

        1.    cold said

          Sorry? Do you support the use of C ++ but not Java?… Where do you think most of the Java syntax comes from? The way to create classes in Java seems very natural to me in relation to OOP, unlike C ++ which was designed so that C programmers could make use of OOP, it is true that it is verbose (that you write many lines) but if you want something Faster to code you can use any of the languages ​​that run in the Java virtual machine, this is Ceylon for example, which is developed by Gavin King who works for Red Hat, by the way in Java there are no functions (except for constructors) as such, there are methods.

          Also, are you complaining about the java virtual machine? LOL is one of the best things that platform has. But that's not all, you do support the use of PHP. PHP is the visual basic of these times, in my humble opinion PHP is a language created for people who are not real programmers. I mean, they are not professionals. Just what you say about Gambas.

          Do you know how many business applications run on a java virtual machine? And not only that, but many other desktop applications. The simple fact that java is cross-platform makes it a good development platform.

          In Python and Ruby I do not discuss anything with you, I find them very good languages, clear, simple and useful.

        2.    pandev92 said

          Each one to use what is easiest for them, period.

        3.    cy assembler programmer said

          python sucks
          you don't even need to declare the variables
          and why talk about php

          prawn
          they are all fools here
          prawns is not for learning to program
          and not to make programs that are not serious

          prawns is to make the typical administrative program
          the front end
          the database user interface
          those little programs that usually only serve a single company / user

          1.    hey said

            tell that to google, which is using python in addition to many other scientific projects that also use it, or programs like bittorrent and the official bitcoin wallet

          2.    jsbsan said

            "Gambas is to make the typical administrative program, the front end, the interface for the database user, those little programs that usually only serve a single company / user"
            And it seems little to you?

        4.    Fabian Flores Vadell said

          @msx
          "Gambas is not * serious * programming and worse still, it deforms learning and the first approach to programming by offering a RAD hybrid that frankly leaves a lot to be desired."

          It is true Gambas is not serious programming, in fact it is a language, more an IDE, more a bytecode compiler, more an interpreter. The programming is set by the programmer and it will be serious or not depending on whether the programmer is serious or not.

          Nor is it a RAD tool ... or it is as much as any IDE with a form designer can be (that is, nothing).

          Regarding that it deforms learning ... either. The tendency to start writing a program through the graphical interface is not the problem, but the suggestion of including all kinds of code in the event handlers of the graphical controls.

          Note: starting with the graphical interface is not something that I like, but the RAD methodology that is based on the development of prototypes that can be shown to the user to get quick feedback, is valid. An IDE like Gambas' cannot teach a methodology, although it must be conceded that it could be done better.

          But it is a problem of poor RAD implementation of almost ALL tools that call themselves RAD.

          https://en.wikipedia.org/wiki/Rapid_application_development

          Regarding the fact that Gambas leaves a lot to be desired ... it depends on what you want.

          Web technology leaves much to be desired: HTML, CSS, javascript, web-servers, everyone wants it to be simpler, the accidental complexity that these technologies introduce is overwhelming.

          The technology that serves as the infrastructure of the Internet leaves much to be desired: the tcp / ip protocol stack is a long way from anything that is thought of as "serious" (in terms of design).

          Of C / C ++ that can be said, people are usual animals C ++ was designed with C programmers in mind. The complexity of C ++ is monstrous and today there are new attempts to improve what C ++ offers (although there are attempts that dating back a long time): go language, Mozilla Rust, for example. If the older ones fail or have not prospered, it is "thanks" to the programmers, the need for backward compatibility, and commercial interests.

          Gambas was an attempt to make a Visual Basic (6) for Linux that was not a clone. Its evolution from there is good. Today it offers many features (but not all, of course) present in languages ​​like Java, but in a much simpler way.

          In that sense, Gambas is a bit like Python, I mean the pragmatic approach: it tries to provide the language with features that programmers find valuable, although the result is a rather heterogeneous language (this problem in Gambas is much less than in Python) .

          Regarding your other comments: if what someone wants to do is learn to program (in an amateur way) your suggestions present many problems:

          C ++: very complex and prone to errors, it also requires a lot more work to obtain the same result as with other languages ​​(eg Gambas) so it will also be demotivating for the learner in most cases.

          Stack PHP: no better than Gambas when it comes to suggesting bad programming habits, mixing business code with user interface code is what PHP proposed from the beginning by allowing code to be embedded in an html file. More complex to install and configure all the necessary tools. It is not general purpose (you cannot make a desktop app or at least it is not logical to do so).

          Python: supports 3 paradigms which can be confusing for a learner and can force you to start with complex things like conceptually understanding those paradigms. It does not have an elegant design, but a pragmatic one. It is so powerful and permissive that it can present the learner with real cognitive challenges. In its favor, it has a wide community and study material. Beyond trying to show that each language can present problems and even huge challenges for a learner, Python with the proper documentation is a very good place to start.

          Ruby: has the same problem as Python in terms of the paradigms it supports. Its syntax could be much clearer and easier to learn if it had taken it (as it took so many things) from Smalltalk, but its commitment to other languages ​​makes learning the syntax not as easy as it could be, for a learner. It is definitely not a language that has been designed to be easy to learn, although it is perhaps a bit easier than Python. It has very good documentation and communities that make it a very good option as a 1st language.

          The only language I know that was intelligently designed to facilitate learning, but without being just an academic language, is Smalltalk, for me the best option of all if you consider the language and the tools, since the documentation to learn to program with Smalltalk it is somewhat dated. It also has communities where you can learn.

          Considering the context, using Gambas to learn programming is perfectly logical, especially if the learner has already had contact with a version of BASIC.

          Good study materials for Gambas are missed as they are still scarce and incomplete, but jsbsan's efforts in that regard are making Gambas as an option to learn programming (for a GNU / Linux user, ie, hobbist) an option to consider. Gambas also has useful communities for learning.

          1.    jsbsan said

            As always, +1, Fabian.
            We miss you for the forum.

    2.    jsbsan said

      As they say in my town: «Knowledge does not take place»
      And for those who want to learn to program, I think it is a choice to take into account.
      All those who have made programs with graphical interfaces with pyhton or java will be with me, in that with Gambas it is much easier.

      1.    cold said

        Again, in my humble opinion, just because it's "easy" doesn't mean it's good or better. It depends on several factors. Is your project leisure, or is it professional? Is it high performance? multiplatform ?, etc ...
        Also speaking of GUI, haven't you seen the JavaFX API? It is good father, effects, css and many attractive things, and that you develop in a very short time.

        But if you are talking about starting programming or learning, I think Python is a good choice. From there it would go to C with Assembler and then to any other high-level language.

        1.    compilationmaniaco said

          whether java is "easy" for multiplatform does not mean that it is good or better.
          that python is easy to learn does not mean that it is good or better
          It's a terrible idea, recommendation to start
          in fact all are terrible ideas to start learning to program

          1.    cold said

            What are you talking about ... I never said Java is better. No language is the best, it all depends on the purpose. I also don't understand why you say Python is a bad idea as a first language. Python is used by many universities to teach logic and algorithms, it is used because it is simple, clear and consistent. As it is script, students do not care about issues such as compilation. Not having to use a fixed structure to create a program gives simplicity which makes the student concentrate on algorithms and logic.

            Once the student has knowledge about these topics, they can start with more advanced topics. A good language to see these concepts is C. In C, you learn to do things by hand, structures, pointers, etc. Now that you know C, it is time to see more tedious instructions that are closer to the machine, some assembly language to know how the machine works.

            Now that the student has the logic, structures, algorithms and knows the complexity of low-level instructions, he is ready to learn a high-level language.

            To me this way of teaching seems to be the right one, you don't give your opinion about why not, you just say that it seems like a terrible idea. I would like to know your opinion.
            Greetings.

      2.    Olaf said

        I am super new to this forum and I particularly like electronics and many other things among them programming. First, when I made the decision to leave Windows and switch to Linux, I had no better offer than prawns to dominate my Bit. to play through the parallel port to be able to do it by USB… .an advance and third to finally be able to carry out my projects I have plenty of cloth. Therefore I think that Gambas gave me an encouragement to continue with the programming not as I happen with other languages I finally caught something and something else came out, example of VB6 step .net and sharp and I no longer understood a knob and my projects stalled. Thanks to Linux and prawns I can continue. A hug to all

    3.    eliotime3000 said

      If you have a crush on Visual Basic 6, then it is ideal for you. If not (as is your case), calmly use EMACS or VIM.

      1.    hey said

        emacs and vim are not programming languages ​​...

        1.    mario said

          I think it refers to the IDE VB6, the same as the post says "a bit like Visual Basic ™"

    4.    f3niX said

      From my point of view, although I don't like shrimp, any environment that helps people get started in programming and that satisfactorily encourages application development is a gem. RAD development we have the excellent lazarus and qtcreator.

      Personally, what I hate the most about Gambas is that it is not multiplatform being an "Interpreter", I don't see the logic, it can only be said that it had bad development architecture, so it has been so difficult to port it to other platforms.

      1.    jsbsan said

        I have tried to learn lazarus (in fact, I have made programs in this environment), but I hardly found information or manuals (there is one that seems quite good, but costs a lot of money and is written in English). I invite you to make a post about lazarus where you comment where to find information to learn it.
        regards

      2.    Fabian Flores Vadell said

        "Personally, what I hate the most about Gambas is that it is not multiplatform being an" Interpreter ", I don't see the logic, it can only be said that it had poor development architecture, why it has been so difficult to port it to other platforms."

        It was designed and developed from the ground up to be a development tool for GNU / Linux systems. There was never the intention to allow it to be cross-platform, so the bad development architecture is a mistake of your appreciation.

        If that's what you hate most about Gambas, you probably hate: C ++ because it's not the best option for web development; to javascript because it does not facilitate developing desktop applications; to Vala for her dependence on GObject; Messi because he doesn't play tennis; and Nadal because he doesn't play football.

    5.    dwarf said

      I always end up identifying with you, fuck xD

      The truth is that if you want to program, at least from my point of view, the best thing is Python, Ruby, PHP or, why not do like me and send everything to hell and dedicate yourself to Javascript? It's a world out there and Gambas, well, it doesn't offer too much xD

      1.    msx said

        Brilliant minds tend to meet ...

        1.    bsdgambero said

          they shine so bright
          like dark matter

  6.   Jean Pierre said

    Make a tutorial on how to do a project with CMake and Vala, if you want I will help you in the technical part ...

  7.   nosferatuxx said

    Interesting article, although it lacked labels such as OOP or programming.

    Being "a bit like basic" it could make it easier for many to start developing applications under Linux, don't you think?

    1.    jsbsan said

      @nosferatuxx:
      I agree with you .
      In fact I will be uploading some of my applications to the blog so you can see what things can be done.
      regards

  8.   ismael said

    It is not my objective to offend but to be honest, I don't see anything good for learning non-serious languages ​​like Gambas (seeing that BASIC-like syntax from the 80's) just need Microsoft to sue Gambas for using their VB language.
    There are better languages ​​to learn and that offer better tutorials such as Javascript, Python, Ruby, Vala, Bash Script, C, C ++.
    Those languages ​​have a future.

    1.    jsbsan said

      Prawns syntax of the Basic type from the 80's?
      I just don't think you know Gambas3 ...

    2.    Fabian Flores Vadell said

      «There are better languages ​​to learn and that offer better tutorials such as Javascript, Python, Ruby, Vala, Bash Script, C, C ++.»

      You pasted it with Python and Ruby, the other suggestions you make show that you never took 5 minutes to think about what difficulties they present as a 1st language.

  9.   Nonamed said

    Thank you very much for making this environment known, for those who have already used visual basic, gambas will find it quite easy

    a manual in epub format of prawns would be interesting

  10.   tibiyacks said

    my dear jbsan I have been following your tutorials for a long time personally I like prawns, for the ease of programming and some of its controls, of course it can still improve its architecture but in linux it is a good programming option.

  11.   poor taku said

    There was a time when I was asked to use Visual Basic, as my machine is only owned by wildebeest software, I did things in prawns.
    It is true that both platforms are fairly simple to do things, but the documentation is scarce in Spanish.
    Personally, I did not consider this method real programming and if you want to learn true programming useful in any case and always nothing better than c / c ++, emacs and gcc

  12.   cold said

    Here they delete the comments? Comment a while ago and my two comments no longer appear ...

  13.   Carlos said

    In debian stable it is not necessary to add the ppa to install gambas3.
    For the rest, good article.

  14.   fenriz said

    Greetings JSBAN. excellent post, I'm a shrimp programmer, and I'm even in the shrimp forum. Your explanation is very good. In my opinion, prawns is a language to start the world of programming, but if personally for serious projects, I think I would not recommend prawns. If you want to Program as a professional trade, there are other languages, C, C ++, PHP, JAVA, JS, PYTHON. Cheers

    1.    compilationmaniaco said

      look at you with windows 7 and firefox

      1.    fenriz said

        What is your point? Not all the time I can be on Linux my dear.

  15.   msx said

    Don't waste time with PAJEREADAS.

    https://www.youtube.com/watch?v=ON0A1dsQOV0

  16.   Shordy said

    The nemh repository is no longer active. To install the new (and hopefully definitive) repository you have to use:
    $ sudo add-apt-repository ppa: gambas-team / gambas3
    $ sudo apt-get update
    $ sudo apt-get install gambas3