PB has good debug tools, breakpoints, single-step, watch variables, optional array bounds checking.
I'm shocked at the ARM jtag tools. The ones my guys use don't seem to allow breakpoints or single-step, much less source-level of same. My ancient 68332 BDM tools are a lot better.
My kids are doing a big Python project right now, that would have been a small project if we'd done it in PowerBasic. Python is a horror. They are reading some 16-bit registers from a box under test and getting NANs. What's the 16-bit integer code assigned to NAN?
--
John Larkin Highland Technology, Inc
jlarkin att highlandtechnology dott com
http://www.highlandtechnology.com
Nah! I've seen too many people abuse thread priority in RTOSs to get their code to function. I use the word "function" loosely, of course, since all they achieved was to hide the underlying problem until something else changed :)
Anything more than two priorities (normal and interrupt) is asking for trouble, especially in a hard realtime environment :0
Yes, I exaggerate to make the point, but there's more than a grain of truth hiding in there.
No, I wouldn't use Linux as a hard real-time RTOS, but I'm interested in running an RTOS on one core and a cut-down Linux on the other core of a Zynq.
I've managed to get "extreme" (as defined by engineers and external companies) soft realtime scalability and throughput plus high availability in telecommunications applications written in Java.
All the Java threads had the same priority. Each telecom event required processing on multiple boxes, some in the same room, some elsewhere on the continent. So yes, there was comms and interlocking involved.
On a sunny day (Thu, 02 Oct 2014 08:43:12 -0700) it happened John Larkin wrote in :
yes I agree, python is just the latest craze - of people who could not be bothered to learn C. Setting the correct size of variables, especially for headers!!!! is essential uint8_t, uint16_t etc if you want to be sure of memory allocation in C, as int, char, etc has many different meanings on many different machines. Maybe in python too? I do not speak python, have not needed it till now. Mayeb it will die just like Pascal, or what was that object thing? cannot remmember. At least I can read Pascal, python no way, if I want to see python I go to the zoo.
On a sunny day (Thu, 02 Oct 2014 08:49:16 -0700) it happened John Larkin wrote in :
There is, in my world, a limited number of little pictJures that fit on the desktop. If you want to say 'car', your picture book opens, and you search and search, and find 'car' (a picture off, but then there may be more than one). I just say car (I have voice control too), or type 'car' (without the quotes for the new-bees). If you hit TAB twice in a Linux terminal (try it) chances are you see how many pictJures you need, not to mention the various command line flags,
Big car, little car car black (Ford any color...) OK, racecar . well you know. I have one such a pictJure book in one desktop, and the other ones hold rxvts full screen. Usually I put a webbrowser in one and the newsreader in the other. A few useful things are always on top of the pictJures. I navigate desktops with control cursur (3x3 pager). Its hard to explain, but very easy to use.
On a sunny day (Thu, 02 Oct 2014 17:11:37 +0100) it happened Tom Gardner wrote in :
I have used a lot of code from other projects, some really complicated like from mplayer. Code changes happened all the time. I never needed a debugger. C is pretty simple. Coding styles are very different too for different people. I mean even when using other code you work incrementally (I hope).
Some people freak out, I remember that guy at work who dumped all the work of his predecessor in the garbage, as 'there was no documentation' (translated he could not read C). It was not my department, but I often wondered... I try to write code that is self documenting, but mostly code that works. It is self-documenting for me, but the nice thing about open source is that you see so many programming styles that you learn to read through that. If I use it, I usually reformat the code in my way, that is all.
It can do even more if you install Cygwin. I usually do scripting in Object Rexx, but that's because of IBM.
Cheers
Phil Hobbs
--
Dr Philip C D Hobbs
Principal Consultant
ElectroOptical Innovations LLC
Optics, Electro-optics, Photonics, Analog Electronics
160 North State Road #203
Briarcliff Manor NY 10510
hobbs at electrooptical dot net
http://electrooptical.net
Java, hmm? So it scaled from glacial to molasses in January? ;)
My 'un weren't a telecom app, it were a FDTD electromagnetic simulator.
Cheers
Phil Hobbs
--
Dr Philip C D Hobbs
Principal Consultant
ElectroOptical Innovations LLC
Optics, Electro-optics, Photonics, Analog Electronics
160 North State Road #203
Briarcliff Manor NY 10510
hobbs at electrooptical dot net
http://electrooptical.net
Except for memory corruption bugs, side effects, timing holes, occasional deadlocks, fencepost errors,... and anything else that depends on stuff that varies at runtime.
Cheers
Phil Hobbs
--
Dr Philip C D Hobbs
Principal Consultant
ElectroOptical Innovations LLC
Optics, Electro-optics, Photonics, Analog Electronics
160 North State Road #203
Briarcliff Manor NY 10510
hobbs at electrooptical dot net
http://electrooptical.net
The previous versions of the software were written in C/C++. The Java version creamed them, much to the disbelief of some engineers in the company. Note that the application is "embarassingly parallel" with the exception of requiring single access to parts of some data structures. Your simulator may not be like that.
There were three fundamental reasons. Firstly Java enabled speedy and efficient reuse of very high performance components purchased from elsewhere (distributed in-memory database); C/C++ hinders such things. Secondly Java has a memory model and a threading model and a synchronisation model that maps well onto multicore systems. C/C++ had none of those, and probably still doesn't. Finally, those characteristics enabled us to concentrate on the core algorithms that enabled our application to run fast, whereas the C/C++ code was continually fighting tedious low-level details including compiler mis-optimisations.
If you think writing such things in C/C++ is easy, have a look at the "If it were easy" thread on comp.arch, and/or read any recent comments by Mike Stump - and more importantly the rebuttals. Several of the contributors were on various C/C++ standardisation committees, or know where the bones are buried in languages and processors, or have dug intel out of a very well publicised hole. In short, they know their stuff.
I was horrified at how much C and X implementations had changed since K&R days.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.