Shop OBEX P1 Docs P2 Docs Learn Events
How will the P2 be marketed? - Page 11 — Parallax Forums

How will the P2 be marketed?

15678911»

Comments

  • Heater.Heater. Posts: 21,230
    edited 2013-05-06 01:12
    Bill,

    Exactly. Anything goes for embedded systems now a days. We have chips smaller than postage stamps that can handle just about any language or run time system. But that "real-time" is still a reality that can need performance and predictability.

    Still, one can imagine that on a multi-core chip like the Prop slow and jittery JavaScript or whatever may be preferred for it's end user simplicity whilst the hard real-time stuff is handled by the other seven cores. On the Prop II with eternal memory available whilst still having plenty of I/O pins free and with it's greater performance this might start to make perfect sense.

    My current obsession is JavaScript on the server (not embedded so far) It's so much nicer than PHP or Python.
  • Bill HenningBill Henning Posts: 6,445
    edited 2013-05-06 07:43
    I agree - for the user interface portion (which is not hard real time) JS or any language is usable, and the more the merrier (as more languages attract more users)
    Heater. wrote: »
    Bill,

    Exactly. Anything goes for embedded systems now a days. We have chips smaller than postage stamps that can handle just about any language or run time system. But that "real-time" is still a reality that can needs performance and predictability.

    Still, one can imagine that on a multi-core chip like the Prop slow and jittery JavaScript or whatever may be preferred for it's end user simplicity whilst the hard real-time stuff is handled by the other seven cores. On the Prop II with eternal memory available whilst still having plenty of I/O pins free and with it's greater performance this might start to make perfect sense.

    My current obsession is JavaScript on the server (not embedded so far) It's so much nicer than PHP or Python.
  • jazzedjazzed Posts: 11,803
    edited 2013-05-06 08:00
    I've really enjoyed PHP over the years - built huge stock analysis robot program with it once.
    Python is a mystery to me.
  • KC_RobKC_Rob Posts: 465
    edited 2013-05-06 08:59
    David Betz wrote: »
    Cool! Lisp is increasing in popularity. Maybe there's a place for PropLisp after all! :-)
    I pointed out not long ago in another thread that Lisp is getting more attention, after some years of decline. Of course, it's always been popular in academia, but I think it's getting more consideration for commercial application now as well.

    FYI - there is a fairly complete Scheme interpreter for ARM - ARMPIT SCHEME
  • KC_RobKC_Rob Posts: 465
    edited 2013-05-06 09:04
    pedward wrote: »
    It goes back to the SPIN and Propeller argument, time is money and the quicker you can build or fix something, the more money you save.
    Spot on!
  • KC_RobKC_Rob Posts: 465
    edited 2013-05-06 09:16
    Heater. wrote: »
    Exactly. Anything goes for embedded systems now a days. We have chips smaller than postage stamps that can handle just about any language or run time system. But that "real-time" is still a reality that can need performance and predictability.
    I think this is where we're heading for the time being: more use of newer-generation HLLs in embedded systems, with asm (or C) used for the hard real-time stuff. All of it compartmentalized somehow. For example, those ARMs with PRUs (like the one on BeagleBone Black) will run Linux, or in theory most any OS, and any programming language, yet the PRUs themselves must be programmed in assembly (though their instruction set has, I gather, been simplified to make that somewhat easier).
  • pedwardpedward Posts: 1,642
    edited 2013-05-06 10:09
    jazzed wrote: »
    I've really enjoyed PHP over the years - built huge stock analysis robot program with it once.
    Python is a mystery to me.

    I thought so too until I realized it and SPIN share a lot: a lineage of Pascal, and whitespace block delineation, so it isn't all that hard to grok. There is a free ebook for Python out there, but if you search google books they want to charge you $14 for the free ebook that is available from the author.
  • Heater.Heater. Posts: 21,230
    edited 2013-05-06 10:15
    The thing about the PRUs having to be programmed in asm gets me. Is it because they are so simple that it's hard to write a C compiler for them? We now have C for native COG code so I cannot believe that. Is it because they just haven't got around to it yet?
  • David BetzDavid Betz Posts: 14,516
    edited 2013-05-06 10:17
    Heater. wrote: »
    The thing about the PRUs having to be programmed in asm gets me. Is it because they are so simple that it's hard to write a C compiler for them? We now have C for native COG code so I cannot believe that. Is it because they just haven't got around to it yet?
    Okay, I give up. What is a "PRU"?
  • KC_RobKC_Rob Posts: 465
    edited 2013-05-06 10:20
    Heater. wrote: »
    The thing about the PRUs having to be programmed in asm gets me. Is it because they are so simple that it's hard to write a C compiler for them? We now have C for native COG code so I cannot believe that. Is it because they just haven't got around to it yet?
    I assume mainly because it just hasn't been done yet. I'm sure that at some point there will be one; how useful it will be (assuming the things really are super easy to program in asm anyway) is another question.
  • KC_RobKC_Rob Posts: 465
    edited 2013-05-06 10:22
    David Betz wrote: »
    Okay, I give up. What is a "PRU"?
    Programmable Real-Time Unit (PRU)
  • KC_RobKC_Rob Posts: 465
    edited 2013-05-06 10:26
    Synopsis: "The programmable real-time unit (PRU) subsystem gives system engineers the ability to implement a variety of “soft” peripherals which are peripherals implemented using a combination of on-chip hardware and software. The dual reduced instruction set (RISC) cores of the PRU allow system engineers to implement additional or custom peripherals without taking up valuable time from the main processor. A small, deterministic instruction set, specialized bit-manipulation instructions, dedicated, fast input/output pins, and access to all resources on the SoC are all key features of the PRU when it comes to the creation of soft peripherals."
  • David BetzDavid Betz Posts: 14,516
    edited 2013-05-06 10:33
    KC_Rob wrote: »
    Thanks for the link!
  • SRLMSRLM Posts: 5,045
    edited 2013-05-09 02:09
    Ken Gracey wrote: »
    The languages we support are Spin/ASM and C/ASM. The environments are our Propeller Tool and Simple IDE. At the moment we have no formal professional programming environment like NetBeans, Code:Blocks or Eclipse. Here are the tools:

    I think it should be called C/GAS simply because there are a few differences (as described in as.pdf). Others may disagree with me.

    Anyway, there is community support (me) for Code::Blocks (link), and I'm working on a Netbeans tutorial. I'm also thinking of Eclipse as well, but haven't felt the need.

    I too used to be of the mind that "I only want to use a plain text editor and the command line." But, I gave real IDEs a chance and found that they are wonderful. I like the code completion, the refactoring tools, the integrated design, and so on. It's great for large projects.
    rod1963 wrote: »
    C would have never got a foothold in education if it wasn't for Arduino/Wiring which hides the ugliness and complexity of C/C++ from mere mortals. Now regular C is fine for guys who spend all day coding but for Frank the artist who just wants to make a few lights light up, etc. It's a abysmal language. Thank heavens for the Arduino and Wiring people who went above and beyond to make programming accessible to non-geeks.

    I don't know what you're talking about, but it simply is not true. C has been taught in schools long before Arduino came along. From my personal experience, I've spent 5 years learning how to program (from high school through university) and never once was introduced to Arduinos. I also disagree that it is an abysmal language, but won't argue that as it's more of a personal opinion.
  • Heater.Heater. Posts: 21,230
    edited 2013-05-09 02:38
    Frank has been coding in C++ for his Arduino for ages. Seems he's quite happy with it.

    C has been in education pretty much ever since it was invented. Starting out in universities.

    I have heard it said a few times that Spin and Python are alike. Apart from the white space block delimiting and superficial syntactic similarities they seem worlds apart to me.
  • KC_RobKC_Rob Posts: 465
    edited 2013-05-09 09:32
    SRLM wrote: »
    I too used to be of the mind that "I only want to use a plain text editor and the command line." But, I gave real IDEs a chance and found that they are wonderful. I like the code completion, the refactoring tools, the integrated design, and so on. It's great for large projects.
    I won't disagree with you, esp. when it comes to large projects. Netbeans in particular has excellent C/C++ support, and of course its price is right. :) That said, you can get close to an IDE with Vim and Emacs. Eg, Vim's clang support (through plug-in) is excellent. This gives you "intelli-sense"-like features while coding.
    I don't know what you're talking about, but it simply is not true. C has been taught in schools long before Arduino came along. From my personal experience, I've spent 5 years learning how to program (from high school through university) and never once was introduced to Arduinos. I also disagree that it is an abysmal language, but won't argue that as it's more of a personal opinion.
    Yes, C has been taught (undiluted) in engineering and technical schools for ages. Beyond that, and in terms of its adoption by hobbyists and tinkers, eh, not so much -- which I think is probably what the OP actually meant.
  • rod1963rod1963 Posts: 752
    edited 2013-05-09 13:36
    KC-Rob

    That's exactly what I meant. Undiluted C isn't becoming more popular among hobbyists for some mysterious reason. It is that the Arduino and Wiring folks found a way to make a simplified variant of C accessible to your average hobbyist and artist.

    Look, almost every processor from the 430 to the Pic32 and ARM now have a Arduino/Wiring front ends and libraries. It tells me it is fulfilling a need that's been quite apparent for a while. That is a programming language that is accessible to normal people who want accomplish something with their microcontroller board.
  • Heater.Heater. Posts: 21,230
    edited 2013-05-09 15:11
    Yes, but technically the programming language is the same, C++. Which is basically a super set of C.

    The fact that they have provided super simple libraries, a super simple IDE and carefully not introduced complex features of the language into the documentation does not change that. Although it does get people going who would otherwise be put off as soon as they see gibberish like "int main(int argc, char *argv[])". Which is your main point.
  • KeithEKeithE Posts: 957
    edited 2013-05-12 20:07
    Heater. wrote: »
    Bill,
    My current obsession is JavaScript on the server (not embedded so far) It's so much nicer than PHP or Python.

    Heater - are you using node.js? Is there are easy way to summarize what you feel makes it so much nicer than Python for server work?
  • potatoheadpotatohead Posts: 10,261
    edited 2013-05-12 21:06
    Undiluted C isn't becoming more popular among hobbyists for some mysterious reason.

    I don't think it's mysterious at all. Hobby / lay people doing this stuff must manage their head space between whatever it is they do for a day job, the many disciplines often required to meet goals, and code.

    Lean code is extremely attractive for that reason. By "lean", I mean what you have to input and how much you have to know.
  • Heater.Heater. Posts: 21,230
    edited 2013-05-12 23:52
    KeithE,
    Heater - are you using node.js? Is there are easy way to summarize what you feel makes it so much nicer than Python for server work?
    That is a question for another thread. Or indeed another forum entirely. The answer is not short and I'm busy today but I will get back to you on it with my experiences.

    Of relevance here is that I think JavaScript is pretty much what the creators of the Arduino try to turn C++ into. That is to say having the power of a high level language but without all that syntactic and semantic baggage and complexity that comes with building C++ programs. "lean" as potatohead says above.

    Python or other such modern "clean" language would do as well. Problem is being interpreter based and requiring memory management and garbage collection they don't fit into such small environments as the AVRs. Not to mention the performance issues.
Sign In or Register to comment.