2013-09-25 03:06:38

Hello guys,
I have a program on my computer called pwct, which lets you program without typing any line of code. Have any of you guys heard of it? If so, this topic is for discussing this.

Twitter: stevo399
Website: stevend.net
Have a nice day!

2013-09-25 04:24:48

This probably isn't worth discussing.  It's a visual programming language.  You don't type; instead, you drag and drop stuff.  It ends up being the same thing as typing code in the end, save that it's more like a flowchart (your code is conceptually a flowchart in any language and, in fact, the compiler actually turns it into one).

My Blog
Twitter: @camlorn38 (Try Chicken Nugget)

Thumbs up

2013-09-25 04:39:30

I hate to turn this into a... newbie thread. But for the life of me, how do you start off with this thing? I've downloaded it, and I get a start window with some kind of labeled graphics. Any help would be welcome, I just want to play with this and see what comes of it.

Thumbs up

2013-09-25 06:09:26

You re blind? You won't be able to.  See my post above.  Just go learn python instead.  You program in this by manipulating graphics.  Alternatively, satisfy yourself by doing what I did and Googling it, before deciding that you're better off with a typed language instead.  You would need a pretty significant amount of remaining vision in order to get any benefit from this kind of thing.

My Blog
Twitter: @camlorn38 (Try Chicken Nugget)

Thumbs up

2013-09-25 21:15:50

Or perhaps, look for a program with similar concepts yet in a non-gui format? Either way, your best off writing in Batch or something as a beginner.

Thumbs up

2013-09-25 21:18:30

Er, batch, as in windows batch files?  I'm hoping you're not suggesting we learn programming with windows batch files?  Is there another batch I don't know about?

My Blog
Twitter: @camlorn38 (Try Chicken Nugget)

Thumbs up

2013-09-26 18:52:13

I am using batch as a segway into programming. It is in my tech class, and yes, I refer to Windows batch.

Thumbs up

2013-09-26 19:33:44 (edited by camlorn 2013-09-26 19:34:51)

As long as we're not talking about learning programming using windows batch scripts, we're good; if there's a programming language called batch, okay, fine.  I'd still suggest something more mainstream.  If you are going to go learn by writing windows batch scripts, god save your soul because 91) that's actually not so easy, (2) that doesn't even teach the function, and (3) you'll be just as lost as you were before when you see an actual programming language.
edit: Also, given what windows batch files are designed to do, your reorganize a folder program can destroy everything if it goes wrong.  I am aware of no significantly sized program written in them.

My Blog
Twitter: @camlorn38 (Try Chicken Nugget)

Thumbs up

2013-09-26 19:49:26

Unfortunately, the constraints placed on Windows bat or cmd files by sheer lack of functionality do not apply to any of the major Unix shells, which means we get loonies writing fairly elaborate programs with excessively heavy dependence on external programs to work.

Ah, but you were talking about MS batch. Well, to be fair, you do get to learn a really dumb language with very essential concepts in it, and it was very useful back in the DOS days, specially if you were lucky enough to own 4dos or Norton Batch Enhancer ...

Now, where'd I put my copy of the Object Rexx reference manual?

Just myself, as usual.

2013-09-26 19:51:43

I have looked at the 2nd and 3rd post of this topic. I basicly set it up because I was intrested in knowing what it is; and kind of how to make it saccessible to me.

Twitter: stevo399
Website: stevend.net
Have a nice day!

2013-09-30 21:19:11

If you want something kind of vaguely like this, try Inform7.  It isn't visual programming, but it's the same sort of programming without actually programming kind of idea.  Also, things like test scripts and scenes can help you think about the flow of your program. 

With this extension:
http://inform7.com/extensions/Aaron%20R … index.html
And loads and loads of batch scripts and external programs, you should be able to do anything any mainstream programming language can do, just more horribly.  Who wants to use this and telnet to write the worlds first inform7/glulx email and usenet client?  Note: this entire paragraph is a joke. Do not try this.

Thumbs up

2013-10-01 02:27:07

I've tried to learn inform7 before. It's the one that's basicly like english...
and I take it you don't like it much?

Twitter: stevo399
Website: stevend.net
Have a nice day!

2013-10-01 03:52:11

The thing with inform 7 is this.  First, it's for text adventure games only.  Try writing something more general in it with the above extension (which requires you writing the external program too), and we will all come down on you as programming gods and smite you with lightning or something.  For anything that's not a text adventure, it is a ridiculously bad idea, especially since you must write said external program--if you are going to do that, just do it all in the external program.
The second reason is more profound, in a way.  The thought processes that inform 7 emphasizes, the style that inform 7 uses, and the general features of inform 7 are more aimed at an artistic audience.  This means that, basically, moving from/to inform 7 is a difficult thing to do.  Inform 7 also lacks a lot of general features: resizeable lists, floating point numbers, basic things like that.   You gain a lot, and I mean a lot, of text adventure stuff: a verb parser, the room, built-in things called relationships (you can say that Bob loves Jill, or say that something should be done if Bob loves Jill; the literal expression is actually if bob loves Jill the x), built-in tables that actually look like tables, organizational structure aimed at text adventures.  Good luck writing an audiogame, fanfiction library organizer, twitter client, web browser, text editor, continue the list with whatever you can think of.  But for a text adventure game, it wins hands down (unless you're doing something extremely unorthodox or need floats, both of which are pretty rare).

My Blog
Twitter: @camlorn38 (Try Chicken Nugget)

Thumbs up

2013-10-01 15:04:13

@camlorn: In it's defence, inform7 test scripts were the first thing that really got me to rap my head around unit testing frameworks. This is knowledge that has come in useful every day of my PHP life.  Inform could also be helpful for new programmers to think about flow control, objects, data structures, etc.  The IDE also makes the cycle of write code, try it, change it, try again, easier than I have found in most (all?) languages.  It also has a really good cookbook, and makes the cookbook code super easy to use.  But yes, all these good things are balanced by how difficult it would be to move from Inform7 to any general programming language. 

@severestormsteve1: For what it is, I really do like inform 7. I was just feeling sleep deprived and silly yesterday.

Thumbs up

2013-10-02 01:21:56

camlorn wrote:

This probably isn't worth discussing.  It's a visual programming language.  You don't type; instead, you drag and drop stuff.

1 - No drag and drop, PWCT presents a new method for creating programs.
2 - Not just a visual programming language, PWCT is a framework for creating visual programming languages, comes with more than one visual programming language, used by beginners & experts, Can generate the source code in many languages like C, Python & Harbour.
Support different programming paradigms (Imperative, Procedural, Event-Driven, Object-Oriented, etc) and comes with new programming paradigm.


severestormsteve1 wrote:

I have looked at the 2nd and 3rd post of this topic. I basicly set it up because I was intrested in knowing what it is; and kind of how to make it saccessible to me.


Before downloading PWCT, you can look at the next features to see if this free software is what you are looking for or not.

PWCT Features

Free Open Source

    GNU General Public License v2.0.
    Create free open source applications.
    Create commercial closed source applications.


Visual Programming

    More than one dimension.
    Programming using a GUI.
    No Syntax Errors.
    Time Dimension.
    Colors.


Practical Editor

    Keyboard shortcuts (high writability).
    Customization (Max. Readability & Writability).
    Cut/Copy/Paste & Search/Replace.
    Syntax Directed Editor.
    Free Editor & VPL Compiler.


Programming Paradigm

    Don't force a programming paradigm.
    Imperative Programming.
    Procedural Programming.
    Object Oriented Programming.
    Event Driven Programming.
    Super Server programming (New).


Compatable (Optional)

    See/Edit the generated source code.
    You can support any textual programming language.
    Support C, Python, C# , Harbour & Supernova.


Programming Scope

    General Purpose.
    Create Large scale Applications/Systems.
    High Level Programming.
    Low Level Programming.
    Download Open Source Projects.




Framework & Extension

    Create/use Visual Programming Languages.
    Comes with more than one VPL.
    Create new components.
    Programs update after components modification.


Operating System

    Microsoft Windows product.
    Works fine on Linux using Wine.
    Create Windows Applications.
    Create Multiplatform Applications.


More

    Dynamic Generation instead of Drag & Drop.
    General and Practical.
    Goal Viewer.
    Samples Manager.
    Play programs as movie.


Omar Alvarado wrote:

I hate to turn this into a... newbie thread. But for the life of me, how do you start off with this thing? I've downloaded it, and I get a start window with some kind of labeled graphics. Any help would be welcome, I just want to play with this and see what comes of it.

From the project website you will find online movies, tutorials, samples & forum.
http://doublesvsoop.sourceforge.net


Greetings,
Fayed

Thumbs up

2013-10-02 01:33:28

Er.  If I'm going to have to work directly with the code, why don't I just, you know, work directly with the code?  All of those features indicate that this is something that I would need to see to actually get benefit from.  How do you see a blind developer benefiting from an IDE with syntax highlighting or any sort of visual design?  I can see the allure for the sighted, but not for the blind.  You've just told me that it's a code generator that takes some sort of graphical representation, and you've done so on a forum for the blind (given that this is your first post, I'm kinda wondering if you realize that).  Visual programming languages are for the sighted, screen readers only work in one dimension anyway unless you've taken the time to do a lot of custom work specifically aimed at screen reader users, blind people who use color in their programming are few and far between (I discount partially sighted here, and am talking about SR users), and making my own visual programming language is really only appealing if I can see.  If I am missing something here, feel free to tell me, but your entire feature list isn't going to benefit the blind, requires extra work aimed at those with screen readers to make such an IDE accessible,  and, even then, it probably won't provide an advantage (screen readers do not give overviews; they exist at one point or control only.  Explaining this to my computer science professors this is always an interesting conversation).

My Blog
Twitter: @camlorn38 (Try Chicken Nugget)

Thumbs up

2013-10-02 19:42:13

Inform 7 isn't for me, but I consider it to be excellent for what it is. It's clearly for writers and, realistically, for people with a life. smile I don't believe the IDE is optional; though it really should be more accessible and there should be command-line operation, it is nevertheless the triumph of common sense over dogma when it comes to writing IF. Of course, my preference is for Inform 6 or, better when interoperability isn't a concern, TADS3.

Speaking of which, you want a more general VM and tools that just happens to be used for IF development to be useful for other purposes? Try the latest release of TADS, now incorporating networking support. I honestly wonder why it didn't happen sooner, and really, T3VM is totally awesome.

Not sure I agree with the whole "Blind people don't get visuals" (everything will be done in a text editor or on the command line for all eternity) assumption. When I started using braille, one of the first things to happen was my more considered use of indentation and, while in textmode at least, I could use emphasis attributes for keyword highlighting. Yes, there's nothing like efficiency, but we're going to have to be incorporated into the sighted world much better than we are sooner or later if the current trend of visual design keeps up. That means accessible forms (no, editing XML really doesn't count), accessible indentation, accessible code completion, and so on. These are all variously available in various stages of usefulness in various tools (Eclipse, Xcode and Visual Studio) but none of them are nearly comprehensive enough to replace a trusty text editor. Which is crap.

Just myself, as usual.

2013-10-13 19:52:45

Hi,
If you want a real programming language, try something like JSharp, CSharp, C++, etc. For instance, in C++, I can create a simple windows app like this:
#include <windows.h>

/*  Declare Windows procedure  */
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);

/*  Make the class name into a global variable  */
char szClassName[ ] = "WindowsApp";

int WINAPI WinMain (HINSTANCE hThisInstance,
                    HINSTANCE hPrevInstance,
                    LPSTR lpszArgument,
                    int nFunsterStil)

{
    HWND hwnd;               /* This is the handle for our window */
    MSG messages;            /* Here messages to the application are saved */
    WNDCLASSEX wincl;        /* Data structure for the windowclass */

    /* The Window structure */
    wincl.hInstance = hThisInstance;
    wincl.lpszClassName = szClassName;
    wincl.lpfnWndProc = WindowProcedure;      /* This function is called by windows */
    wincl.style = CS_DBLCLKS;                 /* Catch double-clicks */
    wincl.cbSize = sizeof (WNDCLASSEX);

    /* Use default icon and mouse-pointer */
    wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
    wincl.lpszMenuName = NULL;                 /* No menu */
    wincl.cbClsExtra = 0;                      /* No extra bytes after the window class */
    wincl.cbWndExtra = 0;                      /* structure or the window instance */
    /* Use Windows's default color as the background of the window */
    wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;

    /* Register the window class, and if it fails quit the program */
    if (!RegisterClassEx (&wincl))
        return 0;

    /* The class is registered, let's create the program*/
    hwnd = CreateWindowEx (
           0,                   /* Extended possibilites for variation */
           szClassName,         /* Classname */
           "Windows App",       /* Title Text */
           WS_OVERLAPPEDWINDOW, /* default window */
           CW_USEDEFAULT,       /* Windows decides the position */
           CW_USEDEFAULT,       /* where the window ends up on the screen */
           544,                 /* The programs width */
           375,                 /* and height in pixels */
           HWND_DESKTOP,        /* The window is a child-window to desktop */
           NULL,                /* No menu */
           hThisInstance,       /* Program Instance handler */
           NULL                 /* No Window Creation data */
           );

    /* Make the window visible on the screen */
    ShowWindow (hwnd, nFunsterStil);

    /* Run the message loop. It will run until GetMessage() returns 0 */
    while (GetMessage (&messages, NULL, 0, 0))
    {
        /* Translate virtual-key messages into character messages */
        TranslateMessage(&messages);
        /* Send message to WindowProcedure */
        DispatchMessage(&messages);
    }

    /* The program return-value is 0 - The value that PostQuitMessage() gave */
    return messages.wParam;
}


/*  This function is called by the Windows function DispatchMessage()  */

LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)                  /* handle the messages */
    {
        case WM_DESTROY:
            PostQuitMessage (0);       /* send a WM_QUIT to the message queue */
            break;
        default:                      /* for messages that we don't deal with */
            return DefWindowProc (hwnd, message, wParam, lParam);
    }

    return 0;
}
Indeed, with CSharp, it might be something like this for a console:
using system;
namespace program
{
class program
{
public static void main(string[] args)
{
Console.WriteLine("Hi!");
}
}
}
Of course, I will not restrict anyone on how or what programming language to work with or choose. I prefer C++ because of the control you gain over the window.

"On two occasions I have been asked [by members of Parliament!]: 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out ?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question."    — Charles Babbage.

Thumbs up

2013-10-13 20:13:03 (edited by camlorn 2013-10-14 00:52:13)

Er, don't post your lame c++ windows app code.  If you are using Win32API, you're working on legacy apps, or you don't have a clue.  No one uses that anymore.
Either way, I have no disagreement with the fact that blind people need more accessible IDEs.  As far as I can tell this language is based around flowcharts.  The issue with flowcharts is that we don't yet have artificial intelligence.  Thus, the underlying app needs to be able to describe it to the blind.  We aren't going to get benefit from this.  We would get benefit from a lot of other things--"hey this line is wrong, you should fix it"--but not this.

My Blog
Twitter: @camlorn38 (Try Chicken Nugget)

Thumbs up

2013-10-13 22:39:34

@camlern what's rong with him posting his c++ code? I'm just wundering since you said it was laim and no one uses winforms.

Check out the new reality software site. http://realitysoftware.noip.us

Thumbs up

2013-10-14 00:51:05

No one does it that way.  No one has done it that way in a very, very long time.  I actually meant win32api, so I'll edit to fix that part of it.  But, people use WXWidgets, QT, Winforms, or WPF these days.  The raw win32api, in which you deal with the *shudder* handle and the *shudder* windows class (different from a c++ class) disappeared around 2000.  I don't have a basic example at the moment, but you can declare a Winforms form from C++/cli in about 15 lines including the includes, you don't need the callback, you don't need handles, etc, etc.  Win32API is what is ultimately used by these libraries, but using it directly makes your code a lot, lot longer.  For simple apps, the code to set up the UI becomes larger than the code for the app logic, and you don't get nice things like easy autolayout (FlowALayoutPanel and TableLayoutPanel from .net winforms are a godsend if you're blind).  For the equivalent code above, I could do it in 10 lines in either C++ or C# (or python, but I don't know how there without some homework).
As for control, this argument is also invalid.  C# is possibly the easiest language in which to modify core UI functionality.  you don't need giant switch/case statements, you don't have to register custom window classes, etc, etc.  You just override whatever methods you want, and don't concern yourself with the rest.  Before saying that C++ gives you better control, do some homework on the other options.  I would not recommend that any new programer touch Win32API.  I would not recommend that any veteran programmer touch Win32api directly either, unless said programmer wants to work on QT or WX or something like that (and, these days, quite possibly not even then).  Yes, it is used in old, old apps.
For games, use SDL or similar; cross-platform, can capture all input in the window, and doesn't need the  register class/callback mess.

My Blog
Twitter: @camlorn38 (Try Chicken Nugget)

Thumbs up

2013-10-14 00:56:42

camlorn wrote:

No one does it that way.  No one has done it that way in a very, very long time.  I actually meant win32api, so I'll edit to fix that part of it.  But, people use WXWidgets, QT, Winforms, or WPF these days.  The raw win32api, in which you deal with the *shudder* handle and the *shudder* windows class (different from a c++ class) disappeared around 2000.  I don't have a basic example at the moment, but you can declare a Winforms form from C++/cli in about 15 lines including the includes, you don't need the callback, you don't need handles, etc, etc.  Win32API is what is ultimately used by these libraries, but using it directly makes your code a lot, lot longer.  For simple apps, the code to set up the UI becomes larger than the code for the app logic, and you don't get nice things like easy autolayout (FlowALayoutPanel and TableLayoutPanel from .net winforms are a godsend if you're blind).  For the equivalent code above, I could do it in 10 lines in either C++ or C# (or python, but I don't know how there without some homework).
As for control, this argument is also invalid.  C# is possibly the easiest language in which to modify core UI functionality.  you don't need giant switch/case statements, you don't have to register custom window classes, etc, etc.  You just override whatever methods you want, and don't concern yourself with the rest.  Before saying that C++ gives you better control, do some homework on the other options.  I would not recommend that any new programer touch Win32API.  I would not recommend that any veteran programmer touch Win32api directly either, unless said programmer wants to work on QT or WX or something like that (and, these days, quite possibly not even then).  Yes, it is used in old, old apps.
For games, use SDL or similar; cross-platform, can capture all input in the window, and doesn't need the  register class/callback mess.

Camlorn, how about you go back and do your homework? Your code is lame. Your camlorn_audio is lame. Everything about you is lame. Seriously dude. Just because you know about coding in different programming languages does not! mean that you are the god of programming. If you think your the god, then here's my assignment for you.
* Try and code a fully featured kernel for linux.
* Don't make it uncompilable, make it as a fully working kernel.

If you do that, that'll show you how hard programming really is. If your the god, then do that, and, do it within the next 90 days.
Oh, and we can use whatever programming language, and we can program in it however we like. I picked C++ because of its flow of control. Oh, and your Camlorn? Your code is so gay that when I compiled it, I got an error about cstdlib not being a valid header.

"On two occasions I have been asked [by members of Parliament!]: 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out ?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question."    — Charles Babbage.

Thumbs up

2013-10-14 02:14:00

Er, cstdlib is standard (since we're going to question me-c++ 11 standard, section 18.3, start and termination).  There is a reason I have yet to declare Camlorn_audio released.  If I had declared it released, I would argue this point with you, and work at getting it to compile for you.  Apparently, your compiler does not have cstdlib, and only supports stdlib.h for some reason.  For my reference, which compiler and which version is it failing on?  The code compiles fine with visual studio 2010 on windows.  I do not intend to support older compilers because they're missing modern language features, and doing so leads to interestingly maintainable code (it's not unmaintainable, but it's...definitely interesting).  I have three other people using camlorn_audio at the moment, two of whom built from source, so it obviously works.  If you're building through scons, it should fail as soon as it fails to find visual studio 2010, and if it is finding visual studio 2010 then something may be wrong with your install.  The work currently happens on branch uncompiling, and it is aptly named; if you are on master, you may not be working with the latest code.  Either way, telling us that it breaks because it is missing a very common c++ header that is part of the standard and has been part of the standard for a while does not reflect on me-C++ 11 didn't introduce this header.  Some compilers are missing it, but the compiler that camlorn_audio currently builds with is not.
I have made no claims to godhood.  Telling a newbie programmer that C++ is the way to go because of the raw control over the window is not a good idea.  There are very rare cases when you have to drop down to that level, and good for you that you can understand it.  That might get you a job working on older code.  No one does it that way anymore.  If you want to not sell C++, that's the code to show (especially since quite a lot of it is, in fact, merely c anyway).  What feature is it that you like in C++ so much?  Most other languages share the same control flow structures.  I am open to constructive argument.  I used to love c++, and think it was the end-all language, and I have no doubt you can find posts from me here and elsewhere that show this.  Even so, that is not the way to make a gui, and that is not code that you should hand to newbie programmers.  Perhaps my knee-jerk response was too vehement, but my points still stand.  Rather than attack me, attack my argument with reasons that use C++ and your coding knowledge,  as attacking my coding knowledge doesn't actually prove your side of things at all.

My Blog
Twitter: @camlorn38 (Try Chicken Nugget)

Thumbs up

2013-10-14 02:59:42

OK, I'm going to interject here. I am by no means an expert in coding, and in fact I don't very much cair for c++. Ethin, I think your post was a little too harsh and saying a program is stupid simply because it won't compile for you isn't a valid argument. On the subject of programming languages, we all have are prefurd choice of language depending on what we want to do. For instants, I like to use bgt for creating games, because it has all the nuts and bolts for creating a game and speeding up development. However, for developing a softwear app such as a calculator, I will use pure basic since its suited to software development. I have used it for creating some simple games in the past but never quite liked pb's structure much. And, what we all must remember is what may seem complex and overly complicated in c++, may be another users prefurd way of coding. Same with bgt, same with python, same with every programming language. What I'm simply saying here is camlorn may like python, where as ethin may like c++. Their's nothing rong with that.

Check out the new reality software site. http://realitysoftware.noip.us

Thumbs up

2013-10-14 04:58:44 (edited by The Dwarfer 2013-10-14 05:01:10)

Ok so I talk to ethin, and know he's not quite the person to tamper with. So Camlorn, what you said to him did, in fact, shock me quite a bit and agitate me as well. It may be true that c++ is an older language, but honestly dude, Ethin is Ethin and he can choose the language he so desires to code in. I don't wish for this post to convey a mean tone, but that I'm trying to tell you guys to ignore each other and move on. Because Ethin, you are perfectly good at coding c++ and thus should continue. Camlorn, I wish the best for your sound library, but please try to keep the comments to yourself... because many people here on this forum thought them as rude.

Twitter: stevo399
Website: stevend.net
Have a nice day!