As was foretold, we've added advertisements to the forums! If you have questions, or if you encounter any bugs, please visit this thread: https://forums.penny-arcade.com/discussion/240191/forum-advertisement-faq-and-reports-thread/
Options

My Little [Programming] Thread: Debugging is Magic

The AnonymousThe Anonymous Uh, uh, uhhhhhh...Uh, uh.Registered User regular
This is the PA programming thread, home to programmers everywhere. Here we talk about cats, ponies, synergised high-efficiency software cloud platforms, and occasionally programming. Apparently the old OP is, well, old, so we've constructed a revolutionary new cost-effective commercial-grade solution for all your enterprise needs.
padevnet.png
PADev.net is a project started up by this thread to support PA developers. A discussion about shared hosting turns into an idea to have hosting and a community to support those working on hobby programs and web services and what not.

Some things require a dedicated VPS but the bar of entry isn't that low. The cost is not extravagant but the know-how required to manage one is daunting for many. PAdev.net provides a share of hosting and support, a $5 monthly fee nets you a shell account on the hub server and the expertise of your peers.

Community members looking to help out can request an account for the website, where all members can create and maintain guides and share project updates. There is no cost to have a community account, just contact an administrator. Also available are you@padev.net email accounts or forwarders.

Current administrators: @Infidel

Languages
  • Python - One of the most popular scripting languages around, Python is the go-to language for...just about everything, actually. Its high scalability and widespread support through third-party libraries make it useful for many applications, from simple five-minute jobs to complex Web servers. Python can also be embedded or bound into lower-level languages such as C, letting you write performance-critical code as well as providing access to libraries written for those languages.
  • Ruby - Another popular scripting language, Ruby is best known as the basis for Ruby on Rails, a framework for Web development that competes with its Python equivalent, Django. While not quite as famous as the juggernaut that is Python, Ruby is nonetheless prolific - modern versions of RPG Maker use it as their scripting language, for instance. And, of course, it can be embedded into other applications, much like Python.
  • Lua - Yet another scripting language. Lua is built on two principles: simplicity and minimalism. Designed with embedding in mind, Lua's overhead is tiny (it can be counted in hundreds of kilobytes at most) and the language itself only provides a handful of constructs...until you master the black arts of tables and metatables. Those who have done so claim to have seen the face of God; these claims are as yet unsubstantiated. What we do know, however is that in recent years Lua has garnered much attention thanks to LuaJIT, a project that provides not only a just-in-time compiler for Lua (granting a massive speed boost - almost C-like performance, in fact), but also an FFI (foreign function interface) library, allowing Lua scripts to directly call C functions without the hassle of writing boilerplate C bindings.
  • C and C++ The Ones Who Came Before. C and C++ are old, clunky, archaic...and the most popular languages in existence. C was conceived in an era when memory was limited and programs were generally written in non-portable assembly languages. The underlying concept (which persists to this day) was that a compiler would take C code, turn it into assembly, and then turn that into an executable or library. Thus, programmers now only had to port most of the codebase instead of all of it! (the situation has improved considerably since then, of course - these days, only the really low-level stuff has a tough time being cross-platform). C++ came some time later, and shook things up significantly with the concepts of classes and generics. Modern C++ also includes the Standard Template Library, or STL, which provides all sorts of useful functionality to make life almost painless. These days most people will learn something simpler like Python before these guys, but make no mistake - everything from your operating system to your favourite video games to your microwave can trace its roots back to one of the two.
  • C# - The poster boy for Microsoft's .NET Framework, C# is a JIT-compiled language modelled after C++, but without any of the associated pain. Though initially developed as a robust alternative for Windows development, Microsoft makes the specifications available at no cost, which has led to other implementations popping up - the most well-known being the cross-platform Mono. The main draw of C# is its ease of use: with a ridiculous number of APIs available by default and the ability to call into native code, you'll have a tough time finding something higher-level that you can't do in C#. The fact that Visual Studio, one of the best IDEs around, also supports C#, is just icing on the cake.
  • Android - Directly responsible for bringing this OP into the 21st century, Android is a pseudo-operating system framework which runs on top of Linux. Android is primarily written in Java, though it also combines elements of C, C++ and sometimes even Python, and is designed for mobile devices. The Android application framework represents an almost entirely event-driven paradigm written primarily in Java which heavily utilises usage of background services, model-view-controller, and sub-classing as a method of changing behaviour of standard pieces. Also, it runs on your phone!
  • Java - :rotate:
  • PHP - :rotate:

The Anonymous on
«134567100

Posts

  • Options
    zeenyzeeny Registered User regular
    This is how you know a company has way too much money and absolutely no clue what to do with them. Actually offering to build something similar should be grounds to get you fired.

  • Options
    ASimPersonASimPerson Cold... and hard.Registered User regular
    Cross-posting from the SE++ job thread: http://forums.penny-arcade.com/discussion/comment/29394692/#Comment_29394692

    I also find it appropriate that the old OP was ditched the last day of my old job. My new job might have me doing some C++, so it was almost potentially out-of-date.

  • Options
    bowenbowen How you doin'? Registered User regular
    Congrats Sim, I know exactly how you feel.

    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • Options
    bowenbowen How you doin'? Registered User regular
    zeeny wrote: »
    This is how you know a company has way too much money and absolutely no clue what to do with them. Actually offering to build something similar should be grounds to get you fired.

    I looked at it the other day.

    Why wouldn't you just use C++ at that point? You've got to train all your workers on a new language that's basically php++. That seems retarded.

    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • Options
    DelmainDelmain Registered User regular
    I think the thing is that it's compatible with PHP. So if you already have a PHP system, you could use Hack to work with it without having to re-write the legacy PHP stuff.

    I don't know why, since PHP projects are usually web-based and would be much better served by having an API built and then a more complex language used that just hits the API endpoints.

  • Options
    EtheaEthea Registered User regular
    bowen wrote: »
    zeeny wrote: »
    This is how you know a company has way too much money and absolutely no clue what to do with them. Actually offering to build something similar should be grounds to get you fired.

    I looked at it the other day.

    Why wouldn't you just use C++ at that point? You've got to train all your workers on a new language that's basically php++. That seems retarded.

    This is what happens when you have money, a massive developer team that knows a language, and you believe that trying to teach them C++ or D would cost more than writing a new language. On top of that, moving to C++ would decrease the feedback loop that Hack provides for type checking, which most likely is the primary point of the language for Facebook.

    Facebook currently has people writing the D language, Hack, OCaml ( i think ), a C++ linter, a PHP translator and other compiler level things that I don't remember.

  • Options
    zeenyzeeny Registered User regular
    edited March 2014
    bowen wrote: »
    zeeny wrote: »
    This is how you know a company has way too much money and absolutely no clue what to do with them. Actually offering to build something similar should be grounds to get you fired.

    I looked at it the other day.

    Why wouldn't you just use C++ at that point? You've got to train all your workers on a new language that's basically php++. That seems retarded.

    It made me angry, but after 5 minutes it was just sadness. There isn't a single valid reason for this project to exists and there will never be one. It feels like somebody's pet, that got pushed through defying all logic and common sense.

    zeeny on
  • Options
    undergroundmonorailundergroundmonorail single-track subway Registered User regular
    I feel like I'm the only person here who thinks that it's pretty neat actually.

    Pokémon X | 3DS Friend Code: 0490-4897-7688
    Friend Safari: Fighting - Machoke, Pancham, Riolu | In game name: Jessica
    Official Weather Gym Leader of the G+T Pokémon League. @me to try for the Climate Badge!
  • Options
    bowenbowen How you doin'? Registered User regular
    Oh no it's pretty neat.

    Useless, but neat.

    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • Options
    urahonkyurahonky Registered User regular
    Okay so no one is helping me right now so I have to fix this myself... The problem is that I'm not sure what to do.

    I have a server that I'm trying to log-in to. The following works:

    http://servername/app/application

    but this doesn't:

    https://servername/app/application

    The problem is that when I get to the servername it asks me to log-in and if I try to log-in using http it won't work (requires SSL). This server is a WebSEAL, Linux server and I believe it has Websphere installed. Does anyone have ANY idea why it won't work? I'm willing to try anything. I need to get past step 1 of this test.

  • Options
    urahonkyurahonky Registered User regular
  • Options
    IncindiumIncindium Registered User regular
    edited March 2014
    Wireshark to see what is happening when you are trying to connect. You won't see any of the actual raw data since its SSL encrypted over HTTPS but you should be able to see what the response codes to your login request are.

    Incindium on
    steam_sig.png
    Nintendo ID: Incindium
    PSN: IncindiumX
  • Options
    IncindiumIncindium Registered User regular
    @The Anonymous Need to added something for C# to the OP as I'm pretty sure there is a sizable portion of people in the thread programming in it. Maybe also Javascript and/or Node.js as well.

    steam_sig.png
    Nintendo ID: Incindium
    PSN: IncindiumX
  • Options
    bowenbowen How you doin'? Registered User regular
    urahonky wrote: »

    Might not be a virtualhost setting or something to account for servername

    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • Options
    LD50LD50 Registered User regular
    On facebook's new poorly named language:
    It's cheaper and easier to hire php codemonkeys than c++ codemonkeys.

  • Options
    RendRend Registered User regular
    bowen wrote: »
    Oh no it's pretty neat.

    Useless, but neat.

    I think delmain hit the nail on the head with this one.

    It allows you to transition to "another language" while playing seamlessly with your existing codebase.

  • Options
    JasconiusJasconius sword criminal mad onlineRegistered User regular
    I've been working on a 2D game in C++/SDL2

    I've been trying to write as much as possible and not lean on 3rd party libs for high level functionality

    so far i have

    - SDL2 for basic graphics and input
    - jsoncpp for data management

    and that's it.

    I'll probably get something Qtish or equivalent to help me build menus. I dread having to get that shit to work.

    At the moment all of my work has been core 2D functionality in the spirit of Link to the Past, but with point and click control. I'm approaching "good enough" status with all that.

    Then I can move to the fun stuff. I am really interesting in experimenting with local lighting in SDL2... having magic missiles that illuminate darkness.

  • Options
    SpawnbrokerSpawnbroker Registered User regular
    Incindium wrote: »
    @The Anonymous Need to added something for C# to the OP as I'm pretty sure there is a sizable portion of people in the thread programming in it. Maybe also Javascript and/or Node.js as well.

    Agreed. I program primarily in C# and Javascript at my job. Going to be taking a look at TypeScript soon too due to the Visual Studio 2013 update including it.

    Steam: Spawnbroker
  • Options
    DelmainDelmain Registered User regular
    I wish I could go back to doing primarily C#...

  • Options
    an_altan_alt Registered User regular
    I miss the old OP...

    Pony wrote:
    I think that the internet has been for years on the path to creating what is essentially an electronic Necronomicon: A collection of blasphemous unrealities so perverse that to even glimpse at its contents, if but for a moment, is to irrevocably forfeit a portion of your sanity.
    Xbox - PearlBlueS0ul, Steam
    If you ever need to talk to someone, feel free to message me. Yes, that includes you.
  • Options
    bowenbowen How you doin'? Registered User regular
    As well it should.

    Also learning that sim city's server system was built in java.

    lolwut

    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • Options
    JasconiusJasconius sword criminal mad onlineRegistered User regular
    the most recent sim city game is every software engineering catastrophe rolled into one

    that's what you get when you let a guy named "Ocean" run your studio

  • Options
    bowenbowen How you doin'? Registered User regular
    Still Java though, I don't even.

    I'd rather have seen it written in node or something jesus christ.

    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • Options
    SpawnbrokerSpawnbroker Registered User regular
    edited March 2014
    Maybe with another year of patches it will be as good as Sim City 4

    Spawnbroker on
    Steam: Spawnbroker
  • Options
    bowenbowen How you doin'? Registered User regular
    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • Options
    bowenbowen How you doin'? Registered User regular
    The bullshit is so thick you should all put on your rubber boots.

    You can tell he was instructed to make it seem like their system was high tech when it was little more than a piracy check system.

    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • Options
    JasconiusJasconius sword criminal mad onlineRegistered User regular
    bowen wrote: »
    Still Java though, I don't even.

    I'd rather have seen it written in node or something jesus christ.

    its worth mentioning that the UI layer of the game client IS in fact written in JS

  • Options
    bowenbowen How you doin'? Registered User regular
    The key things to take away from what their servers handled:
    • Chat
    • Online region stuff like citizen transfer
    • Saving your game

    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • Options
    SpawnbrokerSpawnbroker Registered User regular
    bowen wrote: »
    The bullshit is so thick you should all put on your rubber boots.

    You can tell he was instructed to make it seem like their system was high tech when it was little more than a piracy check system.

    My favorite was when they were touting the agent system so strongly before launch, then the game launched and people figured out that the agents weren't actually persisting their data. A worker doesn't have a house with a family he goes back to every day, he just looks for the closest house. On a different day, another worker will go to that guy's house and sleep there. Same thing with jobs.

    That entire project seemed completely mismanaged from the ground up.

    Steam: Spawnbroker
  • Options
    SpawnbrokerSpawnbroker Registered User regular
    Maybe it was meant to be a free-to-play Facebook game and someone made an executive decision to switch to a pay-to-play product halfway through.

    I think that would explain a lot of the problems it has.

    Steam: Spawnbroker
  • Options
    JasconiusJasconius sword criminal mad onlineRegistered User regular
    I believe what happened is at one point there was an Agent system that worked, and then they realized it didn't scale at all

    and then they reduced the map size to force it to scale

    and then that didn't work either

    and then the project was due to ship in two months

    so they just ripped it all out

    again, Ocean Quigley is a fraud and I am surprised nobody in the press held him accountable

    Polygon reported that he quit because "EA screwed the launch"

    no. you screwed the game, idiot

  • Options
    RendRend Registered User regular
    Android - Directly responsible for bringing this OP into the 21st century, Android is a pseudo-operating system framework which runs on top of Linux, Android is primarily written in Java, though also combines elements of C/C++ and sometimes even Python, and is designed for mobile devices. The Android application framework represents an almost entirely event-driven paradigm written primarily in Java which heavily utilizes usage of background services, model-view-controller, and subclassing as a method of changing behavior of standard pieces. Also, it runs on your phone!

  • Options
    RendRend Registered User regular
    Oh right, also @The Anonymous

  • Options
    jdarksunjdarksun Struggler VARegistered User regular
    bowen wrote: »
    Still Java though, I don't even.

    I'd rather have seen it written in node or something jesus christ.
    The fuck? Java is a great choice for a lot of programming applications. It's been fifteen years since it was slow, get over it.

  • Options
    JasconiusJasconius sword criminal mad onlineRegistered User regular
    jdarksun wrote: »
    bowen wrote: »
    Still Java though, I don't even.

    I'd rather have seen it written in node or something jesus christ.
    The fuck? Java is a great choice for a lot of programming applications. It's been fifteen years since it was slow, get over it.

    is that why it needs twice as many cores with almost twice as much clock speed to do equivalent work to iOS?

  • Options
    bowenbowen How you doin'? Registered User regular
    Jasconius wrote: »
    I believe what happened is at one point there was an Agent system that worked, and then they realized it didn't scale at all

    and then they reduced the map size to force it to scale

    and then that didn't work either

    and then the project was due to ship in two months

    so they just ripped it all out

    again, Ocean Quigley is a fraud and I am surprised nobody in the press held him accountable

    Polygon reported that he quit because "EA screwed the launch"

    no. you screwed the game, idiot

    Might even be simpler than that.

    I bet it was, "no one's even going to notice shit like this, why bother implementing it?" The the scaling issue where 1 citizen represents like 1000 is an issue probably with how they handle dealing with the Java server.

    You figure that's a good 750 megs of data you'd have to be transferring every few seconds. The distributed system never even made sense, my i7 can handle more than the type of computer time they're going to give me from their system. And I've got 8+ gigs to work with.

    Totally a masquerade for anti-piracy in its finest.

    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • Options
    jdarksunjdarksun Struggler VARegistered User regular
    Jasconius wrote: »
    jdarksun wrote: »
    bowen wrote: »
    Still Java though, I don't even.

    I'd rather have seen it written in node or something jesus christ.
    The fuck? Java is a great choice for a lot of programming applications. It's been fifteen years since it was slow, get over it.
    is that why it needs twice as many cores with almost twice as much clock speed to do equivalent work to iOS?
    You know iOS isn't a programming language, right?

  • Options
    DelmainDelmain Registered User regular
    I wouldn't say great

    It's a good choice for a lot of applications. Especially with the delicious JDK 8 stuff that just came out.

  • Options
    JasconiusJasconius sword criminal mad onlineRegistered User regular
    jdarksun wrote: »
    Jasconius wrote: »
    jdarksun wrote: »
    bowen wrote: »
    Still Java though, I don't even.

    I'd rather have seen it written in node or something jesus christ.
    The fuck? Java is a great choice for a lot of programming applications. It's been fifteen years since it was slow, get over it.
    is that why it needs twice as many cores with almost twice as much clock speed to do equivalent work to iOS?
    You know iOS isn't a programming language, right?

    man you're cool

This discussion has been closed.